4

DB2 から結果を取得してこの属性を設定しようとするとnoOfLocations、次のエラーが発生します。

Method "setNoOfLocations" with signature "(Ljava/lang/Integer;)V" is not applicable on this object

次のコードは問題を示しています。

rs を使用して値を設定しています。

packDO.setNoOfLocations(rs.getInt("NO_LOC_PKG"));

rs.getInt("NO_LOC_PKG") is returning 0

NO_LOC_PKG is of datatype Integer in the DB

noOfLocationsセッターメソッドを使用し たタイプは、

private Integer noOfLocations;

public void setNoOfLocations(Integer noOfLocations) {
        this.noOfLocations = noOfLocations;
    }
4

4 に答える 4

2

オートボクシングとアンボクシングが導入されましたJava 1.5.

 int getInt(int columnIndex)
           throws SQLException  

戻ります primitive

そのため、バージョン 1.5 未満の Java を使用している場合、この問題が発生します。

それ以外の場合は、バージョンについて言及してください。

于 2013-08-17T07:43:03.020 に答える
0

@sᴜʀᴇsʜ ᴀᴛᴛᴀ が言ったことに加えて、あなたが必要としているのは

packDO.setNoOfLocations( new Integer( rs.getInt("NO_LOC_PKG") ));

getInt()返品int、およびsetNoOfLocations()希望しjava.lang.Integerます。

ちなみにDB2とは関係ありません。

于 2013-08-17T12:47:59.943 に答える