Si lo que quieres es comparar los objetos según un campo lo suyo es que la clase implemente la interface Comparable con el método:
Código:
public int compareTo(Object ob)
Este método debe devolver un entero:
- negativo si el objeto actual es menor que el objeto2
- 0 si son iguales
- positivo si el objeto2 es mayor que el objeto actual
*Mayor, menor o igual según el criterio de búsqueda que queramos aplicar, claro está.
Para luego poder usarlo de la forma:
Código:
Coche coche1 = new Coche();
Coche coche2 = new Coche();
if( coche1.compareTo(coche2) == 0) { System.out.println("Son iguales"); }
Si lo que quieres es comparar dos objetos en profundidad lo que tienes que hacer es reescribir el método de la clase Object:
Código:
public boolean equals(Object ob)
En el cual debes hacer la comparación de todos los campos de los objetos ( o los que consideres oportunos) y devolver un booleano indicando si son o no son iguales.
Después podras usar este método de la forma:
Código:
Coche coche1 = new Coche();
Coche coche2 = new Coche();
if (coche1.equals(coche2)) { System.out.println("Los objetos son iguales"); }
Espero que te sirva. Un saludo!