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

上一篇: A unicode newline character(\u000d) in Java

下一篇: Single line comments in Ansi