Lors du test de l'égalité des chaînes de caractères en Java, j'ai toujours utilisé equals() parce que pour moi, cela semble être la méthode la plus naturelle pour. Après tout, son nom en dit déjà ce qu'il est destiné à faire. Cependant, un de mes collègues m'a dit récemment avait été enseigné à l'utilisation compareTo() == 0 au lieu de equals(). C'est contre nature (comme compareTo() est destinée à fournir une commande et pas la comparaison pour l'égalité) et même un peu dangereux (parce que compareTo() == 0 n'implique pas nécessairement l'égalité dans tous les cas, même si je sais qu'il le fait pour les Chaînes de caractères) pour moi.
Il ne savait pas pourquoi il a été enseigné à l'utilisation compareTo() au lieu de equals() pour les cordes, et je pourrais aussi ne pas trouver une raison quelconque. Est-ce vraiment une question de goût personnel, ou est-il une raison pour l'une ou l'autre méthode?