Dalam Java, adalah mungkin untuk menukar ArrayList yang mengandungi objek Integer kepada tatasusunan int[] primitif. Walau bagaimanapun, cubaan menghantar terus ArrayList ke int[], seperti yang ditunjukkan di bawah, akan mengakibatkan ralat masa kompilasi:
List<Integer> x = new ArrayList<Integer>(); int[] n = (int[])x.toArray(int[x.size()]);
Untuk berjaya menukar ArrayList kepada tatasusunan primitif, terdapat beberapa cara untuk mendekatinya:
Satu kaedah adalah dengan menggunakan kaedah toArray bagi ArrayList dengan tatasusunan jenis primitif yang diingini sebagai hujah. Sebagai contoh:
List<Integer> x = new ArrayList<Integer>(); int[] n = new int[x.size()]; x.toArray(n);
Pendekatan ini melibatkan mencipta tatasusunan primitif baharu dengan saiz yang sesuai dan menghantarnya ke toArray untuk mengisi tatasusunan dengan nilai Integer.
Jika menggunakan Java 8 atau lebih baru, anda boleh menukar ArrayList kepada tatasusunan primitif menggunakan stream() kaedah dengan mapToInt:
List<Integer> x = new ArrayList<Integer>(); int[] n = x.stream().mapToInt(Integer::intValue).toArray();
Pendekatan ini menggunakan strim untuk lelaran melalui ArrayList, memetakan setiap objek Integer kepada nilai int primitifnya dan mengumpul hasilnya ke dalam tatasusunan menggunakan toArray.
Apabila menukar ArrayList yang mengandungi objek Integer kepada primitif tatasusunan, adalah penting untuk dipertimbangkan:
Atas ialah kandungan terperinci Bagaimana untuk Menukar ArrayList Integer kepada Array int Primitif di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!