好的,这听起来简直太疯狂了。以下代码中发生了非常非常非常奇怪的事情:

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

07-24 22:34