Mengirim Long ke Int Dengan Selamat di Java
Menyalurkan panjang ke int berpotensi mengakibatkan kehilangan maklumat. Untuk mengelakkan perkara ini, adalah penting untuk mengesahkan bahawa pelakon tidak mengubah nilai.
Pendekatan Tradisional:
Satu pendekatan biasa melibatkan penghantaran ke int dan kemudian menghantar semula lama untuk memeriksa kesaksamaan. Walau bagaimanapun, kaedah ini mempunyai had: ia gagal untuk nilai yang lebih besar daripada 2^31-1.
Penyelesaian Java 8:
Java 8 memperkenalkan penyelesaian yang lebih mantap: Math.toIntExact(panjang). Kaedah ini membuang ArithmeticException jika cast mengakibatkan limpahan.
<code class="java">long foo = 10L; int bar = Math.toIntExact(foo); // Throws ArithmeticException on overflow</code>
Kaedah Limpahan-Selamat Lain:
Selain kepadaIntExact, Java 8 juga menambah beberapa lagi kaedah limpahan selamat yang berakhir dengan "tepat". Kaedah ini termasuk:
Menggunakan kaedah ini memastikan integriti data anda dan mengelakkan limpahan integer yang tidak dijangka.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Melemparkan Panjang ke Int dengan Selamat di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!