Boolean和Int的连接

时间:2015-10-05 10:08:46

标签: java string boolean primitive

为什么我不能这样做? 我理解int和string的连接或boolean,(true或false)的连接是可能的,但不能添加带有int的布尔值。

使用布尔值添加int时会发生什么?为什么会出现错误?

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

我也明白这个代码的工作是

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

使用连接。

3 个答案:

答案 0 :(得分:2)

因为+操作具有不同的功能。

在第一个例子中,你尝试Number + Boolean。这没有意义,因此编译器会出错。

在第二个示例中,您尝试String + Number(允许作为String-concentation并返回String)。然后你尝试String + boolean(也是允许的)

答案 1 :(得分:1)

  

使用布尔值添加int时会发生什么?为什么会出现错误?

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

答案 2 :(得分:0)

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

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