Boolean 和 Int 的连接

Concatenation of Boolean and Int

为什么我不能这样做? 我知道可以将 int 和字符串或与布尔值(真或假)连接起来,但不能将布尔值与 int 相加。

当你添加一个带有布尔值的 int 时究竟会发生什么?为什么会显示错误?

System.out.println(a.length() + a.startsWith("a"));

我还了解到此代码的变通方法是

System.out.println(""+a.length() + a.startsWith("a"));

使用连接。

What exactly happens when u add a int with a boolean? Why does it show an error?

因为没有为这些操作数定义 + 运算符。

使用Boolean.toString()静态方法获取布尔值的字符串表示形式:

Boolean.toString(a.startsWith("a"));

因为+运算有不同的作用

在第一个示例中,您尝试了 Number + Boolean。而这没有意义,所以编译器报错。

在第二个示例中,您尝试使用字符串 + 数字(允许作为字符串 - 集中和 returns 字符串)。之后你尝试 String + boolean (这也是允许的)