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 = '"';
这是因为编译器在区分
以完成附件方面没有问题。希望这能为其他人解决一些转义问题