单引号和双引号都是用来将不连续的多个字符组合成一个字符,它们有何区别?
一、linux bash shell 中的区别
1. 单引号会将其中的字符原样输出,特殊符号也会原样输出
date="1234"
echo $date
echo "$date"
echo '$date'
结果
+ date=1234
+ echo 1234
1234
+ echo 1234
1234
+ echo '$date'
$date
2. 给变量加上单引号
在双引号中可以用单引号,会保留$或者``的特殊功能
date="1234"
echo "'$date'"
+ date=1234
+ echo ''\''1234'\'''
'1234'
3. 给变量加上双引号
date="1234"
echo \"$date\"
+ date=1234
+ echo '"1234"'
"1234"
二、java程序中双引号的使用
String name="abc";
String line ="{"+"\"name\":"+name+"}";
System.out.println(line);
”和\”的区别:单个引号是修饰字符串的不会显示出来,加上\转义以后是单纯的”号会显示出来。
java无法识别出来是修饰字符串的引号还是类似于json中的引号(显示出来),所以需要转义\"。