0

私はMSSQLサーバーからデータを取得していますが、アプリケーションの残りの部分はguavaに大きく依存しています。intをSQLからInt(guava)に変換する方法はありますか?私はもう試した

Primitives.wrap(Ints.class).cast(resultSet.getInt(3)))

「java.util.concurrent.ExecutionException:java.lang.ClassCastException:java.lang.Integerをcom.google.common.primitives.Intsにキャストできません」というエラーが発生します。

4

2 に答える 2

4

Intsは静的ユーティリティクラスであり、インスタンスはありません。プリミティブを操作するための一般的なメソッドを提供するためにありますint。クラスでラップする必要がある場合、自然なものはjava.lang.Integerです。

Primitives.wrap()一種のメタユーティリティです。特定のクラスのラッパーを実装するクラスを示します。プリミティブを指定すると、が返されます。繰り返しますが、クラスを操作し、プリミティブ値をラップしません。int.classInteger.class

をラップしたい場合int、必要なのは次のとおりです。

int fooToWrap = 42;
Integer fooWrapped = Integer.valueOf(fooToWrap);

何を達成しようとしていますか?

あなたのコメントを考えると、私はあなたが欲しいものは次のとおりだと思います:

Integer.valueOf(resultSet.getInt(3))
于 2012-05-15T12:38:30.480 に答える
0

私が間違っていなければ、intがintを拡張する場合にのみ、そのようなキャストを行うことができます。intデータ型だけでなく、Integerオブジェクトにしようとしましたか?

于 2012-05-15T11:20:21.753 に答える