ResultSet如何在数据为空时从对象获取String?

时间:2012-02-27 19:35:58

标签: java database oracle jdbc resultset

在我的Oracle表中,有不同类型的列 我想将所有列都读为数字。

String str = resultSet.getString("col1");

问题是如果数据库中的列被定义为数字,而值是

  

0.5

返回的字符串将是

  

.5


我不能使用任何其他的getter,如 getDecimal()等。

如果我使用:

String str = resultSet.getObject("col1").toString(); 

如果值为null,我将收到异常。

2 个答案:

答案 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();