编辑:对addrline2的后续检查(addrline2 == null)显示addrline2实际上为null,打印出null对象,导致字符串“ null”进入标准输出。
我正在将Oracle 11g瘦客户端与Oracle 11g数据库一起使用。查询包含null的列时,getString(“ colname”)返回字符串“ null”而不是Java null值。那是预期的行为吗? Javadoc指示我应该收到Java空值。
ResultSet rs = descStatement.executeQuery();
rs.next();
String addrline2 = rs.getString("addressLine2");
System.out.println("addrLine2->"+addrline2+"<-");
boolean wasNull = rs.wasNull();
System.out.println("Wasnull: "+wasNull);
输出:
addrLine2->null<-
Wasnull: true
最佳答案
请注意,当将空对象转换为字符串时,其输出为“空”。您实际上并没有在任何地方检查是否为空。
尝试添加
if (addrline2 == null) {
System.out.println("It's null!")
}