我有一个填充了各种数据的JTable
。现在我尝试将其转换为 String
但在我的数据库中它们可以是 null
值,因此当我调用此行时:
String s = model.getValueAt(i,j).toString();
我收到一个异常,这是因为它尝试将 null 值转换为字符串,对吗?
如何让它发挥作用?
最佳答案
您收到 NullPointerException
是因为当您从数据存储中检索信息时,您没有检查它是否为 null
。因此,当您调用 model.getValueAt(i,j) 时,很可能在某个时刻返回 null 值。您没有检查此项,因此您在 null
值 (null.toString()
) 上调用 toString()
,这将导致您的代码因 NullPointerException
崩溃。我建议您使用turnary
运算符。这将首先检查返回的值是否为 null
,然后根据它是否为 null
创建 String s
。
String s = ((model.getValueAt(i,j) == null) ? null : model.getValueAt(i,j).toString());
如果记录为 null
,这会将您的 String
设置为 null
,否则将其设置为记录的值。或者,如果您希望在记录不存在时将其设置为空 String
(""
),则可以使用:
String s = ((model.getValueAt(i,j) == null) ? "": model.getValueAt(i,j).toString());
关于java - 如何将数据库中可以为空的条目转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28070958/