为什么我不能这样做? 我理解int和string的连接或boolean,(true或false)的连接是可能的,但不能添加带有int的布尔值。
使用布尔值添加int时会发生什么?为什么会出现错误?
System.out.println(a.length() + a.startsWith("a"));
我也明白这个代码的工作是
System.out.println(""+a.length() + a.startsWith("a"));
使用连接。
答案 0 :(得分:2)
因为+操作具有不同的功能。
在第一个例子中,你尝试Number + Boolean。这没有意义,因此编译器会出错。
在第二个示例中,您尝试String + Number(允许作为String-concentation并返回String)。然后你尝试String + boolean(也是允许的)
答案 1 :(得分:1)
使用布尔值添加int时会发生什么?为什么会出现错误?
因为没有为这些操作数定义+
运算符。
答案 2 :(得分:0)
使用Boolean.toString()
静态方法获取布尔值的字符串表示形式:
Boolean.toString(a.startsWith("a"));