添加 Java 字符:Int 或 Char 结果?
在 Java 中添加两个字符 ('a' 'b') 时,可能会出现以下情况:令人惊讶的是结果是一个 int (195)。这是由于 Java 的二进制数字提升规则所致。
二进制数字提升
根据 Java 语言规范,当添加 Java 字符、短整型或字节时,结果为被提升为 int。这样做的目的是为了避免在处理较小数据类型时出现任何精度损失。
特殊情况:复合赋值
但是,复合赋值运算符有一个例外,例如=。在这种情况下,运算结果将转换为左侧变量的类型。
确定结果类型
确定结果类型的一种方法结果是将其转换为 Object 并检查其类:
System.out.println(((Object)('a' + 'b')).getClass()); // Outputs: class java.lang.Integer
Char连接
如果您打算将字符连接为字符串而不是整数,有多种方法可以实现:
'a' + "" + 'b'
"" + 'a' + 'b'
new StringBuilder().append('a').append('b').toString() String.format("%c%c", 'a', 'b')
以上是为什么两个 Java 字符相加会得到一个整数?的详细内容。更多信息请关注PHP中文网其他相关文章!