好的,这听起来很疯狂。以下代码中发生了非常非常奇怪的事情:
treeTable = new TreeTable();
System.out.println("table: " + treeTable);
if(treeTable == null) {
System.out.println("omg how ?!");
}
..这是输出:
table: null
就是这样!这不是假的!
我该怎么办呢?在调试器中,我看到在null
之后立即将treeTable
值分配给treeTable = new TreeTable();
。
更奇怪的是,第二个println没有被执行......
Java真的太糟糕了吗?怎么会发生这种情况?
提前致谢
答案 0 :(得分:14)
表toString
:
@Override
public String toString() {
return alignment;
}
初始化后alignment
为空
(TreeTable
延伸Table
)