0

編集: addrline2 (addrline2 == null) のその後のチェックにより、addrline2 が実際には null であることが明らかになり、null オブジェクトが出力され、文字列「null」が stdout に出力されます。

Oracle 11g データベースで Oracle 11g シン クライアントを使用しています。null を含む列をクエリすると、getString("colname") は Java null 値ではなく文字列 "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
4

2 に答える 2

1

rs.getString("addressLine2") は null のみを返しますが、そうすると

System.out.println("addrLine2->"+addrline2+"<-");

null を文字列リテラルとして出力する

このようにしてください

  System.out.println("addrLine2->"+addrline2!=null ? addrline2 : "Its null"+"<-");
于 2013-05-29T16:03:46.680 に答える