Cet exemple illustre principalement les méthodes equals et compareTo, méthodes d'instance définies dans la classe String.
class MethodeChaine {
public static void main(String[] arg) {
String r = "essai";
String s = "es" + "sai";
String t = "ESSAI".toLowerCase();
String u = "est";
System.out.println("r == s vaut : " + (r == s));
System.out.println("r == t vaut : " + (r == t));
System.out.println("r.equals(t) vaut : " + r.equals(t));
System.out.println("r.compareTo(t) vaut : " + r.compareTo(t));
System.out.println("r.compareTo(u) vaut : " + r.compareTo(u));
System.out.println("t.compareTo(u) vaut : " + u.compareTo(r));
}
}
On obtient à l'exécution :
r == s vaut : true
r == u vaut : false
r.equals(t) vaut : true
r.compareTo(t) vaut : 0
r.compareTo(u) vaut : -1
u.compareTo(r) vaut : 1
Pour accéder au fichierMethodeChaine.java.
r.equals(t) : cette expression vaut true, ce qui est correct. Nous espérons que vous êtes convaincu qu'il ne faut pas tester directement, avec "==", l'égalité de deux chaînes de caractères, mais utiliser la méthode equals comme ici, ou bien la méthode compareTo, comme ci-dessous.
© Irène Charon Télécom ParisTech 2010
;
r.compareTo(u) : la méthode compareTo est une méthode d'instance de la classe String ; ici, la méthode est appliquée à r, qu'on compare à l'objet de type String indiqué dans les parenthèses, c'est-à-dire à u. La méthode retourne 0 si r et u sont identiques, -1 si r vient avant u dans l'ordre alphabétique, et 1 si r vient après u.