CompareTo rapport est Égal! compare les chaînes de caractères ou des objets?
Rapide question
Je compare une Chaîne de caractères, dois-je utiliser égale ou compareTo?
parce que j'ai trouvé est égal à distinguer les 2 objets de type String
et pas seulement de leur valeur...
qui peut causer des problèmes depuis:
String a = new String("lol");
String b = new String("lol");
sont deux objets différents, même si elles ont la même valeur?
Quoi exactement la différence entre égaux et compareTo implémentations en termes de performances et de précision?
- double possible de Java Chaînes: compareTo() vs equals()
- drôle la façon dont je m'-6rep tandis que l'autre mec gagne +41rep
- Salut, vous pouvez également vérifier ce lien ici leepoint.net/data/expressions/22compareobjects.html
Vous devez vous connecter pour publier un commentaire.
Tout d'abord
==
compare les références pour voir si les deux objets sont les mêmes (donc==
est sur l'objet).Puis
String.equals()
vérifier l'égalité entre le contenu de deux chaînes pendantString.compareTo()
chercher la différence du contenu de deux chaînes de caractères.De sorte que les deux tests suivants sont équivalents:
Mais, depuis
String.equals
, c'est faire référence vérifier d'abord, il est sécuritaire lorsqu'il est utilisé contrenull
, tandis queString.compareTo
sera jette unNullPointerException
:Avez-vous l'essayer?
equals
teste les valeurs de deux objets pour voir si elles sont la même chose.compareTo
teste les valeurs de deux objets pour voir si l'on est "plus grand que" les autres. Dans le cas deString
s, il compare le vocabulaire de l'ordre des caractères.