java - Java 注释中的\u 导致错误消息,为什么?

标签 java unicode

// \u represent unicode sequence
    char c = '\u0045';
    System.out.println(c);

代码只有这么多,eclipse 显示以下错误消息

"Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Invalid unicode

现在,当我从评论中删除 \u 时它工作正常,评论中的 \u 有什么问题?这是一个错误还是有某种关系,就认为 Java 应该保留评论的原样。

最佳答案

编译器将首先读取您的整个源代码(稍后将忽略注释),但他无法识别“\u”,因为它不是有效的 unicode 字符。

要修复它,你可以写

// \\u represent unicode sequence (extra backslash for escaping)

// \ u represent unicode sequence (extra whitespace for escaping)

编辑:
这是因为编译器首先将所有内容翻译成 unicode。编写这个简单的程序

class Ideone
{
    public static void main (String[] args)
    {
        // \u000A System.out.println("Hi");
    }
}

输出Hi,因为\u000A代表换行符。 Proof

关于java - Java 注释中的\u 导致错误消息,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23889948/

相关文章:

java - PDF 抓取 -> MS Access

android - 如何使用俄语字母创建自定义键盘?

python - 如何避免 scrapy UnicodeEncodeError

javascript - 如何在没有javascript的情况下在html中显示unicode?

c++ - Windows控制台下使用UTF-8输出的printf和std::ostream有什么区别

unicode - 大写 utf8 字符是否总是与其小写变体的字节数相同?

java - 类(class)项目创意

java - 从 XSD 生成 pojo 时删除 @XmlElement 注释

java - 有没有一种方法可以传递方法的返回值,而在引用时不会执行整个方法?

java - Android 复选框