Académique Documents
Professionnel Documents
Culture Documents
POO en Java
Ch. VIIb
1
23/11/2017
ch
2
23/11/2017
Caractéristiques
Un objet de type String n’est pas modifiable : Il n’existera aucune
méthode permettant de modifier le contenu d’un objet de type String.
Attention: l’affectation ne modifie pas l’objet.
Exemple :
String ch;
ch="bonjour";
ch="bonsoir";
L’objet n’a pas été modifié, mais c’est la référence ch qui a été modifiée.
Après affectation, ch référence la chaine "bonsoir".
3
23/11/2017
Exemple :
String ch = "bonjour";
char c1= ch.charAt(0); // c1=‘b’.
char c2= ch.charAt(2); // c2=‘n’.
Concaténation de chaînes
On utilise la méthode concat(). Soient ch1 et ch2 deux
objets de type String.
String ch=ch1.concat(ch2).
La chaine ch est obtenue après concaténation de la chaine
ch1 suivi de la chaine ch2.
Exemple:
String ch1= "le langage";
4
23/11/2017
5
23/11/2017
Comparaisons de chaînes
La méthode equals( ) permet de comparer les contenus de deux chaînes.
Attention: Les opérateurs « == » et « !=» comparent les références et non les
contenus des objets.
Exemple:
String ch1="bonjour"; String ch2="bonjour";
String ch3=new String ("bonjour"); Alors,
(ch1==ch2); // retourne true, car ch1 et ch2 référencent le même objet.
(ch1==ch3); //retourne false, car ch1 et ch3 référencent deux objets différents.
ch1.equals(ch2); // retourne true.
ch1.equals(ch3); //retourne true.
La méthode equalsIgnoreCase( ) effectue la même comparaison, mais sans faire
de différence entre les majuscules et les minuscules.
La méthode compareTo( )
Permet d’effectuer des comparaisons lexicographiques de chaînes
pour savoir laquelle des deux chaînes apparaît avant une autre en
se basant sur l’ordre des caractères.
Utilisation: Soient ch1 et ch2 deux chaines de type String
ch1.compareTo(ch2);
retourne:
- un entier négatif si ch1 arrive avant ch2;
- un entier nul si ch1 et ch2 sont égales;
- un entier positif si ch1 arrive après ch2;
6
23/11/2017
Remplacement de caractères
La méthode replace( ) crée une nouvelle chaîne en
remplaçant toutes les occurrences d’un caractère donné
par un autre.
Exemple:
String ch1="bonjour";
ch1=ch1.replace(‘o’,’a’);
Attention : La chaine ch1 n’est pas modifiée, mais
A revoir création d’une nouvelle chaine qui contient "banjaur"
référencée par ch1.
Si les indices « début » et « fin » sont hors les indices de la chaine qui appelle la méthode
substring(), alors il y a génération de l’exception:
java.lang.StringIndexOutOfBoundsException:
Exemple :
String ch = "bonjour";
String ch1 = ch.substring(3); // ch1 ="jour"
String ch2 = ch.substring(1, 4); // ch2="onj"
7
23/11/2017
8
23/11/2017
9
23/11/2017
10
23/11/2017
11
23/11/2017
Déclaration de l’objet :
Scanner input = new Scanner(System.in);
12
23/11/2017
13