Java语言规范
中提到了它字符串文字总是String类型(§4.3.3)。 行终止符出现在“和”之后是一个编译时错误 在结束时匹配“。
如§3.4所述,字符CR和LF从不是InputCharacter;每个都被认为是一个LineTerminator。
但我可以创建并运行以下语句
public class StringOperation {
public static void main(String ...args){
String first = "\n";
System.out.println(first);
}
}
我没有看到任何错误。感谢所有的见解。
答案 0 :(得分:7)
语法"\n"
是行终止符的有效转义表示形式,而不是实际的行终止符。 JLS阻止你做这样的事情:
String alphabet = "abcdefghijklm
nopqrstuvwxyz";
相反,你必须这样做:
String alphabet = "abcdefghijklm" +
"nopqrstuvwxyz";
答案 1 :(得分:3)
这指的是字符串中不允许实际的换行符:
String first = "
";
无法编译。 \ n是完全有效的转义换行符,而不是实际换行符。