目录
代码
public class HelloComments {
public static void main(String[] args) {
String name = "我不是注释";
// \u000dname = "我是注释";
System.out.println(name);
}
}
执行结果
我是注释
分析
如此看来,代码中的注释被执行了,可以确定name被重新赋值了,问题出现在 "\u000d上"。搜索一下,"\u000d"是换行符,这个Unicode换行符被Java编译器解析了。
找到字节码文件,反编译得到。
public class HelloComments {
public static void main(String[] args) {
String name = "我不是注释";
//
name = "我是注释";
System.out.println(name);
}
}
参考: