Muy buenas hoy vamos a ver como se redefine el metodo equals de la clase objects para poder utilizarlos en nuestra clase, para ello nos crearemos nuestra clase y definimos un metodo equals de este modo:
package eticom;
import eticom.anotaciones.Desarrollador;
@Desarrollador(nombre="Alberto")
public class Usuario {
String nombre;
String clave;
public Usuario() {
nombre="Jesus";
clave="1111";
}
public Usuario(String nombre, String clave) {
this.nombre = nombre;
this.clave = clave;
}
/*
Al llamarlo igual que el metodo de la clase Object redefiniremos el metodo pasandole un objeto y haciendo un casting al object para convertirlo en obejeto de nuestra clase.
*/
public boolean equals(Object a) {
boolean respuesta=false;
Usuario u = (Usuario)a;
if(u.nombre.equals(this.nombre)&& u.clave.equals(this.clave)){
respuesta=true;
};
return respuesta;
}
}
Hagamos la prueba:
package eticom;
import org.testng.annotations.Test;
import eticom.anotaciones.Desarrollador;
import eticom.anotaciones.FechaProyecto;
public class UsuarioTest {
String nombre;
String clave;
public UsuarioTest() {
}
public UsuarioTest(String nombre, String clave) {
this.nombre = nombre;
this.clave = clave;
}
@Test
public void pruebaEquals() {
Usuario uno = new Usuario();
Usuario dos = new Usuario();
assert (uno.equals(dos)) : "No son iguales";
Usuario tres = new Usuario("pepe", "3333");
Usuario cuatro = new Usuario("juan", "7777");
assert (!tres.equals(cuatro)) : "Son iguales";
}
}
No hay comentarios:
Publicar un comentario