Rumah  >  Artikel  >  Java  >  Bagaimanakah Saya Boleh Menghantar Long ke Int dengan Selamat di Jawa?

Bagaimanakah Saya Boleh Menghantar Long ke Int dengan Selamat di Jawa?

DDD
DDDasal
2024-10-26 13:58:02359semak imbas

How Can I Safely Cast Long to Int in Java?

Menyalurkan Panjang ke Int dengan Selamat di Java: Penyelesaian Komprehensif

Apabila bekerja dengan jenis angka di Java, adalah penting untuk memastikan penghantaran operasi tidak mengakibatkan kehilangan data. Ini amat penting apabila menghantar nilai panjang kepada int, kerana ketepatan panjang boleh melebihi int.

Java 8: Mempermudahkan Proses

Sebelum Java 8 , menghantar panjang ke int dengan selamat memerlukan pemeriksaan yang membosankan untuk mengesahkan bahawa pelakon tidak mengubah nilai. Walau bagaimanapun, dengan pengenalan Java 8, kaedah baharu telah ditambah yang menyelaraskan proses ini:

<code class="java">import static java.lang.Math.toIntExact;

long foo = 10L;
int bar = toIntExact(foo);</code>

Kaedah toIntExact membuang ArithmeticException jika pelakon akan mengakibatkan limpahan, memastikan integriti data dikekalkan.

Kaedah Limpahan-Selamat Tambahan

Java 8 juga memperkenalkan beberapa kaedah selamat limpahan lain. Kaedah ini semuanya berakhir dengan "tepat" dan menyediakan fungsi berikut:

  • Math.incrementExact(long): Menambah nilai panjang sebanyak satu.
  • Math.subtractExact(panjang, panjang ): Menolak satu nilai panjang daripada yang lain.
  • Math.decrementExact(long): Menurunkan nilai panjang dengan satu.
  • Math.negateExact(long): Meniadakan nilai panjang.
  • Math.subtractExact(int, int): Menolak satu nilai int daripada yang lain.

Kesimpulan

Dengan menggunakan kaedah toIntExact dan limpahan lain- kaedah selamat ditambah dalam Java 8, pembangun dengan yakin boleh menghantar nilai panjang kepada int tanpa mengorbankan ketepatan data. Ini penting untuk mengekalkan integriti pengiraan berangka dan memastikan kebolehpercayaan kod.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghantar Long ke Int dengan Selamat di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn