在Java中,我应该在String(双引号)中转义单个引号(')吗?

Nae*_*mul 29 java string escaping character

在Java中,\'表示单引号(单引号)字符,并\"表示双引号(双引号)字符.

所以,String s = "I\'m a human.";效果很好.

但是,String s = "I'm a human."也不会产生任何编译错误.

同样,char c = '\"';工作,但char c = '"';也有效.

在Java中,哪个更好用?在HTML或CSS中,style="font-family:'Arial Unicode MS';"更常见的事情(对于这样的标签,我认为这是使用引号的唯一方法),但在Java中,我通常看到人们使用转义字符,如"I\'m a human."

Cor*_*all 45

您不需要转义'String(包装")中的字符,也不必转义"char中的字符(包装').

  • @Bateman我不同意你的陈述 - 转义字符可以在字符串文字中用\n来表示换行符或者用于标签的\ t.我对Cory Kendall的暗示是,他的回答没有使用"合法但可选"的正式术语,而这些术语本来就更精确了. (2认同)

Jam*_*mie 13

最好的做法只是在你需要的时候逃避报价 - 如果你能逃脱而不逃避它,那么就做!

你需要逃脱的唯一时间是在尝试放入"字符串或'字符时:

String quotes = "He said \"Hello, World!\"";
char quote = '\'';
Run Code Online (Sandbox Code Playgroud)

  • 嗯......在哪里说这是"最佳实践"?或者您只是将您的个人偏好重新标记为"最佳实践"? (16认同)