Memahami Nilai dan Lulus Rujukan di Jawa: Kajian Kes Tatasusunan
Di Jawa, konsep lulus mengikut nilai atau rujukan ialah topik yang penting. Jenis data yang berbeza berkelakuan berbeza semasa proses ini. Walaupun primitif diluluskan dengan nilai, tatasusunan, yang bukan primitif tetapi bukan objek, membentangkan situasi yang unik.
Adakah Tatasusunan Lulus dengan Nilai atau Rujukan?
Pada dasarnya, segala-galanya di Jawa diluluskan oleh nilai. Tatasusunan, sebagai objek, ikut konsep ini, dan rujukan kepada tatasusunan diluluskan oleh nilai. Sama seperti menghantar rujukan objek, rujukan tatasusunan ialah salinan.
Implikasi Lulus Nilai untuk Tatasusunan
Pelulusan nilai ini mempunyai implikasi khusus:
Demonstrasi Contoh
Pertimbangkan kod Java berikut:
public static void changeContent(int[] arr) { // If we change the contnet of arr. arr[0] = 10; // Will change the content of array in main() } public static void changeRef(int[] arr) { // If we change the reference arr = new int[2]; // Will not change the array in main() 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]); // Will print 10.. changeRef(arr); System.out.println(arr[0]); // Will still print 10.. // Change the reference doesn't reflect change here.. }
Kod ini menunjukkan penghantaran nilai tingkah laku tatasusunan. Menukar kandungan tatasusunan menggunakan changeContent mengubah suai tatasusunan asal. Walau bagaimanapun, memberikan tatasusunan baharu dalam changeRef tidak mengemas kini rujukan asal. Akibatnya, nilai arr[0] kekal 10 walaupun selepas rujukan berubah.
Atas ialah kandungan terperinci Adakah Array Java Melepasi Nilai atau Rujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!