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!