char
文字'\"'
和'"'
之间是否存在差异?
答案 0 :(得分:9)
绝对没有区别。这两个char
是==
。
System.out.println('\"' == '"'); // prints "true"
严格地说,没有必要在char
字面值中转义双引号,但它不会改变\"
表示双引号字符\u0022
的事实。
String
analog 我们也有String
文字的类似情况:
System.out.println("\'".equals("'")); // prints "true"
事实上,我们甚至可以更进一步,使用==
来进行参考平等:
System.out.println("\'" == "'"); // prints "true"
第二个片段证明两个字符串文字确实相等,因此在编译时受到字符串实习的影响。
字符串文字 - 或者更常见的是,作为常量表达式值的字符串 - “interned”,以便使用
String.intern
方法共享唯一的实例。< / p>
String.equals
versus ==
“” == s
is false
but “”.equals( s )
is true
char
字面中的单引号必须转义
char
字面引用单引号String
字面必须中的双引号
String
字面引用了双引号