JavaでintからLongに変換するにはどうしたらいいですか?
ここやGoogleで、long
からint
への移行に問題を抱えている人をよく見かけますが、その逆はありません。しかし、intから
long`にする前にこのシナリオに遭遇したのは私だけではないはずです。
私が見つけた他の回答は、"最初からLongに設定すればいい"というものでしたが、これでは質問に答えているとは言えません。
最初はキャストを試みましたが、"Cannot cast from int to Long
"
for (int i = 0; i < myArrayList.size(); ++i ) {
content = new Content();
content.setDescription(myArrayList.get(i));
content.setSequence((Long) i);
session.save(content);
}
ご想像のとおり、私は少し困惑しています。コンテンツの一部が ArrayList
として入ってきて、この情報を保存しているエンティティがシーケンス番号を Long として必要としているため、int
を使うことにこだわっています。
207
3
long
へのキャストと
Longへのキャストには違いがあることに注意してください。long
(プリミティブな値)にキャストした場合、それは自動的にLong
(それをラップした参照型)にボックス化されるはずです。代わりに
new
を使用してLong
のインスタンスを作成し、int
値で初期化することもできます。次のように使用します。
Long.valueOf(int);
を参照してください。intがすでにIntegerとして型付けされている場合は、このようにすることができます。