[英]How to compare Resultset.getString() to String in Java?
[英]Oracle ResultSet.getString(“colname”) returning the string “null” instead of java null
編輯:對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
請注意,將null對象轉換為字符串時,將其輸出為“ null”。 您實際上並沒有在任何地方檢查是否為空。
嘗試添加
if (addrline2 == null) {
System.out.println("It's null!")
}
rs.getString(“ addressLine2”)僅返回null,但當您這樣做時
System.out.println("addrLine2->"+addrline2+"<-");
將其null打印為字符串文字
像這樣做
System.out.println("addrLine2->"+addrline2!=null ? addrline2 : "Its null"+"<-");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.