Primordial “est synonyme de” méthode: comment faire pour déterminer le type du paramètre?

Je suis en train de remplacer equals méthode d'une classe paramétrée.

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (!(obj instanceof Tuple))
        return false;

    Tuple<E> other = (Tuple<E>) obj; //unchecked cast
    if (!a0.equals(other.a0) && !a0.equals(other.a1)) {
        return false;
    }
    if (!a1.equals(other.a1) && !a1.equals(other.a0)) {
        return false;
    }

    return true;
}

Comment puis-je m'assurer que <E> de la other objet est le même que this?

  • BTW, n'est-ce pas logique implique que "a","a" et "a","b" sont égaux? Ne serait-il pas plus simple d'écrire "si a0=a0 et a1=a1 ou a0=a1 et a1=a0..."
  • Si vous permettez à votre a0 et a1 est nul, assurez-vous d'ajouter le vérifie.
InformationsquelleAutor Nick Heiner | 2009-10-27