JTable如何处理空值?

tmn*_*tmn 0 java swing jtable

JTable调用getValueAt()并且该方法返回一个null值时,它会爆炸吗?或者它只显示一个空字符串""?

我问,因为我一直在返回""as null,但我试图用我的getClass()方法更明确,""可以与非字符串类型冲突.

ten*_*ica 5

这取决于值的呈现方式.由特定渲染器绘制实际数据.有关更多信息,请参见概念:编辑器和渲染器.

例如,DefaultTableCellRenderer扩展了这样的JLabel对待null:

protected void setValue(Object value) {
    setText((value == null) ? "" : value.toString());
}
Run Code Online (Sandbox Code Playgroud)

因此,null被解释为空字符串.