Pregunta sobre programacion(java)

-Tengo 2 objetos de una clase ,que tienen tres atributos del tipo short
-Creo un metodo para comparar los atributos de estos 2 objetos,este metodo recibe estos 2 objetos y dentro de el pongo las comparaciones que quiero realizar
Ahora llega el problema
Las comprobaciones siempre me dan como resultado que los atributos son iguales,y es que cuando referencio los atributos (por ejemplo objeto1.atributo1=objeto1.atributo1) estos 2 atributos siempre me sale que son iguales porque el objeto1.atributo1 pasa a ser igual que el objeto1.atributo1 es como si al relllenar el objeto2 pisase el objeto1 pero antes de crear el objeto2 compruebo el objeto1 y este esta bien....
Haber si alguien sabe lo que pasa ..y entiende mi explicacion jeje ;)
Yo no entiendo tu explicación xD

Podrías poner el código de la clase y el método comparador?
El operador "igualdad" es "==". "=" es el operador asignación.
Sertinell escribió:El operador "igualdad" es "==". "=" es el operador asignación.

ya bueno no es por eso si no me daria error al compilar
Radja escribió:Yo no entiendo tu explicación xD

Podrías poner el código de la clase y el método comparador?

Resumiendo dentro del metodo intento compular los atributos del objeto1 con los el objeto.2 pero siempre me dice que son iguales por que comprar los atributos de objeto2 con los de objeto2
zaius5 escribió:
Sertinell escribió:El operador "igualdad" es "==". "=" es el operador asignación.

ya bueno no es por eso si no me daria error al compilar
Radja escribió:Yo no entiendo tu explicación xD

Podrías poner el código de la clase y el método comparador?

Resumiendo dentro del metodo intento compular los atributos del objeto1 con los el objeto.2 pero siempre me dice que son iguales por que comprar los atributos de objeto2 con los de objeto2


No te daría error al compilar.
K. Ichigo escribió:
zaius5 escribió:
Sertinell escribió:El operador "igualdad" es "==". "=" es el operador asignación.

ya bueno no es por eso si no me daria error al compilar
Radja escribió:Yo no entiendo tu explicación xD

Podrías poner el código de la clase y el método comparador?

Resumiendo dentro del metodo intento compular los atributos del objeto1 con los el objeto.2 pero siempre me dice que son iguales por que comprar los atributos de objeto2 con los de objeto2


No te daría error al compilar.

en un if si
Ya hay un oficial de Java, te reporto a ver si lo pegan allí ;)

hilo_hilo-oficial-ii-java_1305785
Si nos pones el código quizás podamos ver donde está el fallo....
A todo esto, aquí siempre pones "objeto1" y no "objeto1" y "objeto2", no se si es fallo al escribir el post o en el código también lo tienes igual...

Por otro lado, usando orientación a objetos, no deberías crear un método aparte, si no dentro de la propia clase (a ser posible el equals).

Un ejemplo sería tener en la clase el metodo "esIgual" de este estilo.

public boolean esIgual(Clase otro) {
        if (atributo1 != otro.atributo1)
                 return false;

        if (atributo2 != otro.atributo2)
                 return false;

        return true;
}


Después, para usarlo, simplemente necesitas:
Clase o1 = new Clase();
Clase o2 = new Clase();
if (o1.esIgual(o2))
   System.out.println("Son iguales");
else
   System.out.println("Son distintos");
Achiss escribió:Ya hay un oficial de Java, te reporto a ver si lo pegan allí ;)

hilo_hilo-oficial-ii-java_1305785
8 respuestas