【发布时间】:2013-10-05 00:28:23
【问题描述】:
在 Java 中,为什么 char 原语隐式转换为 int 原语?人们说这是因为扩大了转换——一个 2 字节的 char 将适合一个 4 字节的 int,但是布尔值呢?布尔值肯定占用不到 2 个字节,但它们不会被隐式转换。
【问题讨论】:
-
Java 的设计方式只有
true或false是有效条件。例如,你不能像在其他语言中那样做while(1)。因此,将布尔值视为整数是没有意义的。 -
你在说什么?转换在不同的上下文中发生的方式不同。
-
转换如下:char test = 'a'; int test2 = 测试;
-
对于“为什么”字符在这里被静默转换为整数没有很好的答案。这真的只是一个糟糕的设计选择,现在他们坚持了下来。还有很多其他的。
标签: java type-conversion implicit-conversion