注释代码在 Java 中给出编译错误?

Commented code gives compilation error in Java?

您好,我正在创建简单的程序,但在评论中遇到了看不见的编译错误 code.My 代码如下:

public class Static_Method_Call
{               
    public static Character character=getMe();

    public static void main(String[] args)
    {
        System.out.println("Inside main() 1 : "+character); 
        //Static_Method_Call.character=new Character('\u000d'); 
        //System.out.println("Inside main() 2 : "+character);
    }

    static
    {
        System.out.println("Inside static block : "+character);
        Static_Method_Call.character=new Character('\u003d');       
    }

    public static Character getMe()
    {
        System.out.println("Inside getMe() : "+character);
        return new Character('\u002d');
    }
}

错误如下:

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

这个错误在 Java 中意味着什么?

\u000d 是一个 Unicode 字符,代表 CR 特殊字符。即使编译器对源码进行改造之前,这个字符也被预处理导致源码无效。所以我猜在预处理时,注释行看起来像:

//Static_Method_Call.character=new Character('
 ');

因此编译器错误。可以用\r加回车return.

\u000d 是一个换行符,所以下一行以 ' 开头,这是未关闭的,这就是它所抱怨的。这在此处解释 A unicode newline character(\u000d) in Java