Lebih
Bagaimana cara mengkonversi dari int ke Long di Jawa?
Aku terus mencari baik di sini dan Google orang-orang yang memiliki masalah pergi dari lama
untuk int
dan bukan sebaliknya. Namun saya'm yakin aku'm bukan satu-satunya yang telah mengalami skenario ini sebelum pergi dari int
untuk Lama
.
Satu-satunya jawaban yang saya've ditemukan "Hanya mengatur lebih Lama di tempat pertama" yang benar-benar doesn't menjawab pertanyaan.
Awalnya saya mencoba casting tapi saya mendapatkan "Tidak cast dari int ke Long
"
for (int i = 0; i < myArrayList.size(); ++i ) {
content = new Content();
content.setDescription(myArrayList.get(i));
content.setSequence((Long) i);
session.save(content);
}
Seperti yang dapat anda bayangkan I'm sedikit bingung, aku'm terjebak menggunakan int
sejak beberapa konten akan datang sebagai ArrayList
dan entitas yang saya'm menyimpan info ini membutuhkan nomor urut seperti yang Lama.
207
12
Perhatikan bahwa ada perbedaan antara pemain untuk
lama
dan melemparkan keLama
. Jika anda dilemparkan kelama
(primitif nilai) maka harus secara otomatis kotak yangLama
(referensi jenis yang membungkus itu).Anda bisa atau menggunakan
new
untuk membuat sebuah instance dariLama
, memulainya denganint
nilai.Gunakan berikut ini:
Lama.valueOf(int);
.Jika anda sudah memiliki int diketik sebagai Integer yang dapat anda lakukan ini:
gunakan
atau
Aku punya mainan kecil ini, yang juga berkaitan dengan non generik interface. I'm OK dengan itu melemparkan ClassCastException jika pakan yang salah (OK dan bahagia)
Di Jawa yang dapat anda lakukan:
dalam kasus anda itu akan menjadi:
Bagaimana
// Tidak akan di compile
// Mengkompilasi, dan mempertahankan non-NULL semangat int. Terbaik cast adalah tidak ada pemain di semua. Tentu saja, kasus penggunaan anda mungkin memerlukan Panjang dan mungkin nilai-nilai NULL. Tapi jika int, atau rindu yang anda hanya input, dan metode yang dapat dimodifikasi, saya akan menyarankan pendekatan ini.
// Mengkompilasi, adalah cara yang paling efisien, dan membuat jelas bahwa sumber nilai, dan tidak akan pernah menjadi NULL.
Kita akan mendapatkan nilai panjang dengan menggunakan
Nomor
referensi.Ini bekerja untuk semua jenis nomor, di sini adalah tes yang:
Saya punya banyak masalah dengan hal ini. Aku hanya ingin:
Di mana IntervalCount Panjang, dan JSpinner ditetapkan untuk kembali Panjang. Akhirnya saya harus menulis fungsi ini:
yang tampaknya untuk melakukan trik. Tidak ada jumlah sederhana casting, tidak ada solusi di atas bekerja untuk saya. Sangat frustasi.
Begitu ada hanya metode
Lama.valueOf(lama)
, cast dariint
untuklama
akan dilakukan secara implisit dalam kasus menggunakanLama.valueOf(intValue)
.Lebih jelas cara untuk melakukan ini adalah