Java中的unicode换行符(\ u000d)
我们来看看下面的Java代码片段。
public class Main {
public static void main(String[] args) {
// new Character(' u000d System.out.println("Hello");
}
}
在上面的代码中,尽管main()
方法中的唯一一行被注释掉了,但它在控制台上显示了输出Hello
,即使看起来这条注释行包含一些语法错误。 如果这行没有注释,它根本不会工作,导致编译时错误。
为什么在这里输出“Hello”?
Java在源代码中解析字符转义码,而不仅仅是字符串。
这使您可以在不使用Unicode编码的情况下使用Unicode标识符。
因此,注释中的u000d
被解析为换行符,结束注释并开始实例初始化程序。
实际上它是Java Puzzlers之一。
谜题2:行式打印机
我真的推荐阅读整本书。
链接地址: http://www.djcxy.com/p/20569.html