ฉันต้องการตรวจสอบว่าList
มีวัตถุที่มีเขตข้อมูลที่มีค่าที่แน่นอน ตอนนี้ฉันสามารถใช้การวนซ้ำเพื่อตรวจสอบ แต่ฉันอยากรู้ว่ามีโค้ดอะไรที่มีประสิทธิภาพมากกว่านี้
สิ่งที่ต้องการ;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
ฉันรู้ว่าโค้ดข้างต้นไม่ได้ทำอะไรเลยมันแค่แสดงให้เห็นอย่างคร่าวๆว่าฉันพยายามทำอะไร
นอกจากนี้เพื่อชี้แจงเหตุผลที่ฉันไม่ต้องการใช้การวนรอบแบบง่าย ๆ ได้เนื่องจากรหัสนี้จะไปในวงที่อยู่ภายในวงซึ่งอยู่ภายในวง เพื่อความสะดวกในการอ่านฉันไม่ต้องการเพิ่มลูปในลูปเหล่านี้ต่อไป ดังนั้นฉันสงสัยว่ามีทางเลือก (ish) เรียบง่ายใด ๆ
equals(Object)
วิธีการของวัตถุที่กำหนดเองของคุณหรือไม่
for(Person p:list) if (p.getName().equals("John") return true; return false;
คุณจะไม่พบวิธีที่กระชับมากขึ้นใน Java ฉันกลัว
p.equals(p)
ควรเป็นจริงเสมอดังนั้นฉันสับสนในสิ่งที่คุณพยายามจะทำ หวังว่าถ้าคุณถามคำถามใหม่คุณจะได้รับความช่วยเหลือที่ดีขึ้น