Rumah > Soal Jawab > teks badan
天蓬老师2017-04-18 10:45:24
Adalah disyorkan agar anda melihat prinsip Peta
Apabila peta menyimpan nilai, ia tidak menggunakan alamat objek, tetapi kod cincang objek
Anda mula-mula meletakkan p1 sebagai kunci ke dalam peta,
dan kemudian Apabila nilai p1 ditukar, kod cincang p1 telah berubah Apabila ia disimpan semula, peta menganggap ia adalah kunci yang berbeza, jadi ia menyimpannya.
PHP中文网2017-04-18 10:45:24
Berikut ialah pelaksanaan dalaman HashMap.put
public V put(K key, V value) {
return putVal(hash(key), key, value, false, true);
}
Selepas p1.setAge(5), kod cincang p1 berubah dan cincang(kunci) dalam fungsi di atas berubah Walaupun kunci adalah objek yang sama, HashMap masih menyimpannya sebagai kunci baharu.
Atas sebab kecekapan, senario ini tidak disokong. Ia boleh dianggap sebagai perangkap HashMap.