equals() et l'opérateur “==” en java

Je sais que equals() permettra de comparer la valeur des objets, le '==' opérateur permet de vérifier si la variable point à la même mémoire.

Je ne comprends pas comment equals() comparer la valeur des objets, par exemple:

class Test {
    public Test(int x, float y) {
        this.x = x;
        this.y = y;
    }

    int x,
    float y;
}

Test test1 = new Test(1,2.0);
Test test2 = new Test(1,2.0);

Donc, si j'utilise equals(), il va comparer chacune des propriétés de chaque objet?

Et si nous parlons de la Chaîne? à l'aide de equals() et l'opérateur “==”, avons-nous encore besoin de surcharger la equals()?

OriginalL'auteur | 2011-05-01