Java 撇号和反斜杠之间的区别+;撇号
我不明白Java 撇号和反斜杠之间的区别+;撇号,java,Java,我不明白“”和“\”之间的区别。 就是 给出了相同的结果: Hello, I'm the best! Hello, I'm the best! 这是语言的特点吗?或者可能有更复杂的描述?Android上有相同的结果吗?对于字符串文本,'和\'之间没有区别。但是对于Java中由“字符包围的字符文本,转义是必要的 ''' // Not a legal character literal for ' '\'' // A properly escaped character literal fo
“”
和“\”
之间的区别。
就是
给出了相同的结果:
Hello, I'm the best!
Hello, I'm the best!
这是语言的特点吗?或者可能有更复杂的描述?Android上有相同的结果吗?对于字符串文本,
'
和\'
之间没有区别。但是对于Java中由“
字符包围的字符文本,转义是必要的
''' // Not a legal character literal for '
'\'' // A properly escaped character literal for '
根据,Java转义是针对字符串和字符文本的,因此您可以在这两种情况下使用它们。从JLS链接中引用:
字符和字符串转义序列允许表示
对于某些非图形字符以及单引号,双引号
字符文字(§3.10.4)中的引号和反斜杠字符,以及
字符串文字(§3.10.5)
据我所知,Android使用Java,所以我希望Android也能使用Java。我只是想补充一下Rgetman的答案 正如他所说,在这种情况下,
'
和\'
之间没有区别。在使用反斜杠的情况下,“
将被转义,尽管这没有实际意义,因为在这种情况下不需要转义(编译器可以在没有帮助的情况下将内容与附件区分开来)
如果您试图将“
用作字符,那么这很重要。例如:
char c = '''; //compile error
char c = '\''; //escaped correctly
String s = """; //compile error
String s = "\""; //escaped correctly
这同样适用于字符串声明中的双引号转义。例如:
char c = '''; //compile error
char c = '\''; //escaped correctly
String s = """; //compile error
String s = "\""; //escaped correctly
从本质上讲,转义字符会告诉编译器将该字符视为内容,因为否则它将完成封装,并且编译器会认为行的末尾有一个错误的字符
现在,要将所有内容结合在一起,这很好:
String s = "'";
char c = '"';
这是因为编译器在区分“
和”
以完成附件方面没有问题。希望这能为其他人解决一些转义问题