好的,这听起来简直太疯狂了。以下代码中发生了非常非常非常奇怪的事情:
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中表现得如此差强人意吗?这怎么可能发生?
提前致谢
最佳答案
表的toString
:
@Override
public String toString() {
return alignment;
}
初始化后,其中
alignment
为null。(
TreeTable
扩展了Table
)