Rumah > Java > javaTutorial > Adakah Kaedah `contains()` ArrayList Membandingkan Rujukan atau Nilai Objek?

Adakah Kaedah `contains()` ArrayList Membandingkan Rujukan atau Nilai Objek?

Susan Sarandon
Lepaskan: 2024-12-02 06:28:10
asal
297 orang telah melayarinya

Does ArrayList's `contains()` Method Compare Object References or Values?

Bagaimana Kaedah ArrayList mengandungi() Menentukan Kesamaan Objek

Soalan:

Pertimbangkan ArrayList mengandungi objek bernama 'benda' yang dibina dengan integer 100. Jika a objek kedua bernama 'lain' dicipta dengan input pembina yang sama, adakah kaedah ArrayList contains() menilai 'benda' dan 'lain' sebagai sama?

Jawapan:

Kaedah contains() ArrayList bergantung pada kaedah equals() untuk menentukan kesamaan objek. Secara lalai, kaedah ini membandingkan rujukan objek dan bukannya kandungannya.

Dalam coretan kod yang disediakan, kelas Thing mengatasi kaedah equals() untuk membandingkan medan nilai. Jadi, kaedah contains() akan kembali benar jika 'benda' dan 'lain' mempunyai nilai yang sama, tidak kira sama ada ia adalah rujukan objek yang sama.

Pelaksanaan untuk Semakan Kesaksamaan:

Ya, pelaksanaan kelas Thing yang disediakan, yang mengatasi kaedah equals() berdasarkan nilai, akan menjadikan contains() kembali benar untuk objek dengan nilai yang sama. Mengatasi equals() diperlukan untuk membandingkan kandungan (medan nilai) dan bukannya rujukan objek.

Atas ialah kandungan terperinci Adakah Kaedah `contains()` ArrayList Membandingkan Rujukan atau Nilai Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan