Melalui Tatasusunan dalam Java: Nilai lwn. Rujukan
Tidak seperti jenis primitif, tatasusunan dalam Java bukan primitif mahupun objek. Ini menimbulkan persoalan: adakah mereka lulus mengikut nilai atau melalui rujukan dalam Java?
Memahami Nilai dan Lulus Rujukan
Di Java, semuanya diluluskan oleh nilai. Ini bermakna salinan nilai sebenar disimpan dalam pembolehubah penerima. Untuk primitif, seperti integer atau rentetan, ini hanya menduplikasi nilai. Walau bagaimanapun, untuk objek dan tatasusunan, ia sedikit lebih kompleks.
Melalui Tatasusunan: Rujukan Sahaja
Walaupun tatasusunan bukan objek sebenar, ia tetap dianggap sebagai rujukan . Oleh itu, apabila tatasusunan dihantar kepada kaedah, hanya rujukan kepada tatasusunan yang benar-benar diluluskan, bukan tatasusunan itu sendiri. Ini menunjukkan bahawa sebarang perubahan yang dibuat pada kandungan tatasusunan akan ditunjukkan dalam tatasusunan asal.
Menukar Kandungan Tatasusunan lwn Rujukan
Mengubah suai tatasusunan dalam kaedah tidak menjejaskan tatasusunan asal kerana rujukan yang diluluskan. Walau bagaimanapun, menukar rujukan itu sendiri, seperti menetapkannya kepada tatasusunan baharu, tidak akan mengubah rujukan dalam kaedah asal. Ini kerana rujukan itu sendiri ialah nilai yang diluluskan oleh nilai.
Contoh
Contoh berikut menggambarkan tingkah laku ini:
public static void changeContent(int[] arr) { arr[0] = 10; // Modifies the array's content } public static void changeRef(int[] arr) { arr = new int[2]; // Changes the reference arr[0] = 15; } public static void main(String[] args) { int[] arr = new int[2]; arr[0] = 4; arr[1] = 5; changeContent(arr); System.out.println(arr[0]); // Prints 10 (content changed) changeRef(arr); System.out.println(arr[0]); // Prints 10 (reference not changed) }
Dalam kes ini, kaedah changeContent() mengubah suai kandungan tatasusunan, mempengaruhi tatasusunan asal. Walau bagaimanapun, kaedah changeRef() mengubah rujukan itu sendiri, yang tidak menjejaskan tatasusunan asal.
Atas ialah kandungan terperinci Adakah Tatasusunan Lulus dengan Nilai atau Rujukan di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!