【发布时间】:2015-03-04 13:17:38
【问题描述】:
考虑下面这段代码
public class Test {
public static void main(String... strings) {
System.out.println("String, " + false);
System.out.println("String, " + getFalse());
System.out.println("String, " + new TestClass());
System.out.println("String, " + (new TestClass() == null));
System.out.println("String, " + new TestClass() == null);
}
private static class TestClass {
public String toString() {
return "false";
}
}
private static boolean getFalse() {
return false;
}
}
为什么最后一个System.out.println 打印的输出与其他输出不同?我不知道,这是一个错误吗?它与加号运算符有关吗?字符串生成器?
【问题讨论】:
-
这是一个合理的问题,请参阅代码下方的 cmets
标签: java string operator-keyword behavior