Quelques méthodes de la classe String                        

Quelques méthodes de la classe String

     

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.


String t = "ESSAI".toLowerCase(); : la méthode toLowerCase est une méthode d'instance de la classe String qui construit l'instance de la classe String obtenue en changeant toutes les lettres de la chaîne de caractères concernée (ici : "ESSAI") en la même chaîne mais écrite toute en minuscules. Après cette instruction, t contient donc la chaîne "essai".
r == s : la valeur de cette expression, true, montre que les références r et s sont ici égales ; cela est ainsi car une seule instance de la classe String a été créée pour les deux chaînes de caractères, qui ont été repérées comme identiques. Il est néanmoins beaucoup plus sûr d'utiliser la méthode equals pour tester l'égalité de deux chaînes de caractères. Voyez le cas suivant.
r == t : cette expression vaut false ; les variables r et t référencent pourtant deux instances différentes de la classe String qui contiennent la même chaîne de caractères.

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.


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.

© Irène Charon Télécom ParisTech 2010

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 ;