当我使用时:
char c1 = '\u534e';
System.out.println(+c1);
然后我得到:
21326
但是当我使用时:
char c1 = '\u534e';
System.out.println("c1 = " +c1);
然后我正确打印了字符:
c1 = 华
有什么问题吗?
最佳答案
您的问题有 3 种情况:
<强>1。 System.out.println(+c1);
在char类型上添加+会将其转换为int,因此会调用System.out的println(int)方法,使其打印该字符的整数值。
<强>2。 System.out.println(c1);
在本例中我们没有添加+,所以它仍然作为char,所以在本例中println(char)将被调用,这将导致打印实际的字符。
<强>3。 System.out.println("c1 = "+c1);
当我们将 char 类型连接到 String 时,整个连接将被视为 String,因此在这种情况下 println(String) 将被调用并打印实际字符和字符串的其余部分。
关于java - 为什么 System.out.println(+c1) 和 System.out.println ("c1"= +c1) 之间存在差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43831075/