在最新一期的 JavaSpecialists 时事通讯中,作者提到了一段在 Java 中不可编译的代码
public class A1 {
Character aChar = '\u000d';
}
尝试编译它,你会得到一个错误,例如:
A1.java:2:字符文字中的非法行结束 字符 aChar = '\u000d'; ^
为什么等效的一段 c# 代码没有显示出这样的问题?
public class CharacterFixture
{
char aChar = '\u000d';
}
我错过了什么吗?
编辑:我最初的问题是 c# 编译器如何正确解析 unicode 文件(如果是的话),为什么 java 仍然应该坚持不正确的(如果是的话)解析?编辑:我还想恢复我原来的问题标题?为什么要进行如此繁重的编辑,我强烈怀疑它严重改变了我的意图。