在我的Oracle表中,有不同类型的列 我想将所有列都读为数字。
String str = resultSet.getString("col1");
问题是如果数据库中的列被定义为数字,而值是
0.5
返回的字符串将是
.5
我不能使用任何其他的getter,如 getDecimal()等。
如果我使用:
String str = resultSet.getObject("col1").toString();
如果值为null,我将收到异常。
答案 0 :(得分:5)
您可以使用
String str = String.valueOf(resultSet.getObject("col1"));
作为避免任何异常的简单解决方法。 (不知道为什么你不能使用resultSet.getDouble("col1")
。)
答案 1 :(得分:1)
如果您不希望看到空字符串而不是空值(即String.valueOf()
)将产生的文字“null”,您可以使用:
Object value = resultSet.getObject("col1")
String str = value == null ? "" : value.toString();