Почему содержит () или удалить () сбой при использовании == вместо. Equals () с пользовательскими объектами в Java? [дубJAVA

Программисты JAVA общаются здесь
Anonymous
Почему содержит () или удалить () сбой при использовании == вместо. Equals () с пользовательскими объектами в Java? [дуб

Сообщение Anonymous »

Я работаю над проектом Java, где я использую пользовательские объекты (например, человек) в списке. Я заметил, что такие методы, как содержит () или remove (), не ведут себя так, как ожидалось при сравнении объектов. Может ли кто -нибудь объяснить, почему == в этом случае не работает должным образом, и как переоценки равняются () (и hashcode ()) помогают? < /P>
import java.util.*;

class Persona {
String nombre;
public Persona(String nombre) {
this.nombre = nombre;
}
}

public class Prueba {
public static void main(String[] args) {
List lista = new ArrayList();
lista.add(new Persona("Alicia"));

// Esto retorna false
System.out.println(lista.contains(new Persona("Alicia")));
}
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... s-with-cus

Вернуться в «JAVA»