Senarai Menukar kepada int[] dalam Java
Apabila cuba menukar Senarai kepada int[], adalah perkara biasa untuk menghadapi kekeliruan kerana batasan List.toArray(). Walaupun ia mengembalikan Objek[], tatasusunan ini tidak boleh dihantar terus ke int[].
Untuk menangani isu ini, pendekatan biasa ialah menggunakan gelung, seperti yang ditunjukkan dalam soalan. Walau bagaimanapun, Java 8 memperkenalkan penyelesaian yang lebih cekap dan ringkas menggunakan strim.
Menggunakan Strim
Dengan pengenalan IntStream, Java 8 menyediakan cara yang mudah untuk mengendalikan jenis primitif seperti int. Kod berikut menunjukkan cara untuk menukar Senarai ke int[] menggunakan strim:
int[] example1 = list.stream().mapToInt(i -> i).toArray();
// OR
int[] example2 = list.stream().mapToInt(Integer::intValue).toArray();
Proses Pemikiran
- Strim#toArray yang mudah mengembalikan tatasusunan Object[], yang tidak diingini.
- IntStream ialah strim khas yang direka untuk nilai int.
- Untuk mendapatkan IntStream daripada Stream, kami menggunakan kaedah mapToInt.
- mapToInt menggunakan ToIntFunction, yang memetakan Integer kepada int. Ini boleh dilaksanakan sebagai rujukan lambda atau kaedah.
- Integer#intValue menyahkotak Integer untuk mendapatkan nilai int asas.
- Sebagai alternatif, kita boleh menggunakan penyahkotak mudah untuk menggantikan lambda dalam mapToInt, menghasilkan contoh yang lebih ringkas1.
Pendekatan berasaskan aliran ini memudahkan proses penukaran dan menghapuskan keperluan untuk gelung manual.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Senarai dengan Cekap kepada int[] dalam Java?. 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