你在Java注释中导致错误信息,为什么?

Raj*_*Raj 8 java unicode

// \u represent unicode sequence
    char c = '\u0045';
    System.out.println(c);
Run Code Online (Sandbox Code Playgroud)

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

"Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Invalid unicode
Run Code Online (Sandbox Code Playgroud)

现在,当我\u从评论中删除它工作正常,\u评论中的问题是什么?这是一个错误还是有一些关系,只要认为Java应该保留评论.

Com*_*Guy 12

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

要解决它,你可以写

// \\u represent unicode sequence (extra backslash for escaping)
Run Code Online (Sandbox Code Playgroud)

要么

// \ u represent unicode sequence (extra whitespace for escaping)
Run Code Online (Sandbox Code Playgroud)

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

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

输出,因为\u000A代表换行.证明

  • 哇,我不知道`\ u`序列也在评论中被解析了...... (2认同)

Vio*_*ian 5

评论也在某种程度上得到了解释.一个简短的研究已经为您的问题产生了以下结果: javadoc中的Unicode和注释?