有没有办法确保+ plus运算符用于连接String而不是用作算术运算符,例如这不起作用,因为inGame是一个布尔值而e.getSource()= = list也是一个布尔值。
System.out.println((e.getSource() == list) + inGame);
但是
System.out.println(e.getSource() == list +""+ inGame);
这将是最有效的例子,例如告诉编译器使用运算符作为连接运算符而不是算术运算符?
答案 0 :(得分:3)
你可以使用StringBuilder正确地连接你的字符串(和其他东西)。毕竟,当你使用“+”时,这就是内部Java的作用。
System.out.println(new StringBuilder().append(e.getSource() == list).append(inGame).toString());
答案 1 :(得分:2)
您可以使用String.valueOf()
:
System.out.println(String.valueOf(e.getSource() == list) + String.valueOf(inGame));
或者,如果您只是打印:
System.out.print(e.getSource() == list);
System.out.println(inGame);
最后,printf()
也是一个选项:
System.out.printf("%b%b\n", e.getSource() == list, inGame);
如果您尝试使用更复杂的格式进行打印,这非常有用。