如何将可以为空的数据库中的条目转换为字符串?

How to convert an entry from a DB that can be null into a String?

我有一个填充了各种数据的 JTable。现在我试图将它转换成 String 但在我的数据库中它们可以是 null 值所以当我调用此行时:

String s = model.getValueAt(i,j).toString();

我遇到异常,是因为它试图将空值转换为字符串吗?

如何让它发挥作用?

Object cellObj = model.getValueAt(i,j);
String s;
if (cellObj == null) {
    s = null;
} else {
    s = cellObj.toString();
}

您得到的是 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());