編輯:隨後檢查addrline2(addrline2 == null)顯示addrline2實際上是null,打印出導致字符串「空」去標準輸出。Oracle ResultSet.getString(「colname」)返回字符串「null」而不是java null
我正在使用帶有Oracle 11g數據庫的Oracle 11g瘦客戶機。查詢包含null的列時,getString(「colname」)將返回一個字符串「null」而不是Java null值。這是預期的行爲? Javadoc表示我應該收到一個Java null。
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」?你有任何一種數據庫瀏覽器,所以你可以肯定嗎? – darijan
是的,試試'+(addrline2 == null)+'。 String + calls String.valueOf(...) –