【发布时间】:2013-05-29 15:55:59
【问题描述】:
编辑:对 addrline2 (addrline2 == null) 的后续检查显示 addrline2 实际上为 null,打印出 null 对象导致字符串“null”进入标准输出。
我正在使用带有 Oracle 11g 数据库的 Oracle 11g 瘦客户端。查询包含 null 的列时,getString("colname") 返回字符串“null”而不是 Java 空值。这是预期的行为吗? 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
【问题讨论】:
-
您确定列中的值不是“null”吗?你有任何类型的数据库浏览器,所以你可以确定吗?
-
是的,试试
+(addrline2 == null)+。 String + 调用 String.valueOf(...)