


Bagaimanakah kaedah Arrays.copyOf() dalam Java menyalin tatasusunan ke dalam tatasusunan baharu?
Bagaimanakah kaedah Arrays.copyOf() dalam Java menyalin tatasusunan ke tatasusunan baharu?
Di Java, tatasusunan ialah struktur data yang sangat biasa, dan kelas Tatasusunan Java memberi kami banyak kaedah yang mudah untuk menangani tatasusunan. Antaranya, kaedah Arrays.copyOf() ialah kaedah yang sangat berguna untuk menyalin tatasusunan kepada tatasusunan baharu. Artikel ini akan memperkenalkan prinsip penggunaan dan pelaksanaan kaedah ini, dan memberikan contoh kod khusus.
Kaedah penggunaan
Kaedah Arrays.copyOf() mempunyai dua parameter: tatasusunan asal dan panjang tatasusunan baharu selepas disalin. Kaedah ini mencipta tatasusunan baharu dan menyalin elemen daripada tatasusunan asal kepada tatasusunan baharu. Jika panjang tatasusunan asal lebih besar daripada atau sama dengan panjang tatasusunan baharu, bahagian hadapan tatasusunan asal akan disalin. Jika panjang tatasusunan asal kurang daripada panjang tatasusunan baharu, semua elemen tatasusunan asal akan disalin ke tatasusunan baharu, dan unsur-unsur selebihnya diisi dengan nilai lalai jenis elemen tatasusunan.
Berikut ialah contoh memanggil kaedah Arrays.copyOf():
int[] arr1 = {1, 2, 3, 4, 5};#🎜 🎜# int[] arr2 = Arrays.copyOf(arr1, 3);
int[][] matriks2 = Arrays.copyOf(matrix1, 2);
int[] arr2 = Tatasusunan. copyOfRange( arr1, 1, 4);
return (T[]) copyOf(original, newLength, original.getClass());
}
statik awam
@SuppressWarnings("unchecked") T[] copy = ((Object)newType == (Object)Object[].class) ? (T[]) new Object[newLength] : (T[]) Array.newInstance(newType.getComponentType(), newLength); System.arraycopy(original, 0, copy, 0, Math.min(original.length, newLength)); return copy;
}
Seperti yang dapat dilihat daripada pelaksanaan kod, baris pertama kaedah Arrays.copyOf() memanggil versi overloaded copyOf() kaedah, dan Hasil yang dikembalikan oleh kaedah ini dikembalikan kepada pemanggil. Kaedah ini menerima tatasusunan asal dan panjang tatasusunan baharu sebagai parameter dan menyerahkannya kepada kaedah copyOf() kedua.
Kaedah copyOf() kedua melaksanakan langkah berikut untuk mencipta tatasusunan baharu dan menyalin elemen:
- Buat tatasusunan generik baharu menggunakan parameter newType.
- Buat tatasusunan baharu menggunakan jenis komponen tatasusunan asal (jika newType bukan Objek[]).
- Gunakan kaedah System.arraycopy() untuk menyalin elemen tatasusunan asal ke tatasusunan baharu.
- Kembalikan tatasusunan baru yang disalin.
Memandangkan pelaksanaan kaedah Arrays.copyOf() bergantung pada kaedah System.arraycopy(), ia mengikut peraturan dan sekatan kaedah ini, seperti tidak menyalin tatasusunan yang merangkumi dua jenis berbeza.
Summary
Kaedah Arrays.copyOf() ialah cara yang mudah untuk menyalin tatasusunan dalam Java Ia boleh mencipta tatasusunan baharu dan menyalin elemen tatasusunan asal ke tatasusunan baharu. Kaedah ini boleh digunakan untuk menyalin tatasusunan satu dan dua dimensi, serta menyalin julat elemen tertentu. Pelaksanaan kaedah Arrays.copyOf() adalah berdasarkan kaedah System.arraycopy(), jadi ia mempunyai peraturan dan sekatan yang sama. Apabila berurusan dengan tatasusunan, kelas Tatasusunan ialah alat yang sangat berguna yang boleh membantu kami mengendalikan dan memanipulasi tatasusunan dengan lebih mudah.
Atas ialah kandungan terperinci Bagaimanakah kaedah Arrays.copyOf() dalam Java menyalin tatasusunan ke dalam tatasusunan baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Dreamweaver Mac版
Alat pembangunan web visual