char c = '0';
int i = 0;
System.out.println(c == i);
为什么这总是返回 false?
最佳答案
虽然这个问题很不清楚,但我很确定发帖者想知道为什么打印出 false
:
char c = '0';
int i = 0;
System.out.println(c == i);
答案是因为每个可打印字符都被分配了一个唯一的代码编号,这就是 char
在被视为 int
时所具有的值。字符0
的代码是十进制的48,显然48不等于0。
为什么数字的字符代码不等于数字本身?主要是因为前几个代码,尤其是 0
,太特殊了,不能用于这种普通的目的。
关于java - 为什么我在 Java 中对 char 和 int 进行比较不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8232826/