Saya ingin memeriksa apakah suatu List
berisi objek yang memiliki bidang dengan nilai tertentu. Sekarang, saya bisa menggunakan loop untuk memeriksa dan memeriksa, tetapi saya ingin tahu apakah ada kode yang lebih efisien.
Sesuatu seperti;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
Saya tahu kode di atas tidak melakukan apa-apa, hanya untuk menunjukkan secara kasar apa yang saya coba capai.
Juga, hanya untuk memperjelas, alasan saya tidak ingin menggunakan loop sederhana adalah karena kode ini saat ini akan masuk ke dalam loop yang ada di dalam loop yang berada di dalam loop. Agar mudah dibaca, saya tidak ingin terus menambahkan loop ke loop ini. Jadi saya bertanya-tanya apakah ada alternatif (ish) sederhana.
equals(Object)
metode objek kustom Anda?
for(Person p:list) if (p.getName().equals("John") return true; return false;
Saya tidak akan menemukan cara yang lebih ringkas di Jawa.
p.equals(p)
harus selalu benar, jadi saya bingung apa yang ingin Anda capai. Semoga jika Anda mengajukan pertanyaan baru Anda bisa mendapatkan bantuan yang lebih baik.