new运算符返回null

Fir*_*zen 0 java vaadin

好吧,这听起来很疯狂.以下代码中发生了非常非常奇怪的事情:

treeTable = new TreeTable();

System.out.println("table: " + treeTable);

if(treeTable == null) {
    System.out.println("omg how ?!");
}
Run Code Online (Sandbox Code Playgroud)

..这是输出:

table: null
Run Code Online (Sandbox Code Playgroud)

就这样!这不是假的!

我该怎么办呢?在调试器中,我看到该nulltreeTable立即分配给treeTable = new TreeTable();.更奇怪的是,第二个println没有被执行......我是不是真的那么糟糕和蹩脚的Java?怎么会发生这种情况?

提前致谢

Kra*_*ayo 14

表格toString:

@Override
public String toString() {
    return alignment;
}
Run Code Online (Sandbox Code Playgroud)

alignment初始化后,where 为null.
(TreeTable延伸Table)

  • 多么糟糕的`toString()`的实现......但是很棒. (5认同)