Menukar ArrayList of Integer to Primitive int Array
Di Java, terdapat berbilang pendekatan untuk menukar ArrayList yang mengandungi objek Integer kepada int primitif [] tatasusunan.
Satu kaedah, seperti yang dicuba dalam kod coretan yang disediakan, adalah menggunakan kaedah toArray(). Walau bagaimanapun, ini akan membuang ralat masa kompilasi kerana jenis tatasusunan yang tidak serasi. Untuk menyelesaikan masalah ini, nyatakan jenis tatasusunan yang akan dikembalikan, seperti yang ditunjukkan di bawah:
int[] n = (int[])x.toArray(new int[x.size()]);
Pendekatan alternatif, terutamanya berguna dengan Java 8, ialah memanfaatkan API Strim:
int[] arr = list.stream().mapToInt(i -> i).toArray();
Kaedah ini menukar setiap elemen dalam senarai kepada nilai int yang sepadan, menghasilkan tatasusunan yang diingini.
Anda juga boleh menggunakan intValue kaedah untuk menukar secara eksplisit setiap objek Integer:
int[] arr = list.stream().mapToInt(Integer::intValue).toArray();
Untuk mengendalikan potensi rujukan nol, tambahkan penapis pada saluran paip strim:
int[] arr = list.stream().filter(Objects::nonNull).mapToInt(i -> i).toArray();
Dengan teknik ini, anda boleh menukar ArrayList dengan cekap daripada Integer kepada tatasusunan int primitif di Jawa.
Atas ialah kandungan terperinci Bagaimana untuk menukar ArrayList Integer dengan Cekap kepada Array int Primitif di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!