如何将可以为空的数据库中的条目转换为字符串?
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());
我有一个填充了各种数据的 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());