Java ne possède pas de type chaîne prédéfini
La bibliothèque Java standard contient une classe prédéfinie String
Chaque chaîne entre guillemets est une instance de la classe String
String v = "" ;
// chaîne vide
String erreur = "phrase incomplète" ;
String type_erreur = "pb écriture" ;
String support = "sur disque" ;
String messsage = type_erreur + support ;
int num_erreur = 104 ;
System.out.println("Le numéro d'erreur est " + num_erreur);
Pour créer un objet String, l'utilisation de l'opérateur new n'est pas obligatoire
Une String est implémentée comme un tableau constant de caractères;
On ne modifie pas la classe String mais on crée un nouvel objet String.
Voici Quelques exemples de méthodes de la classe String :
int length()
char charAt(int ind)
boolean equals(String s)
int indexOf(char c)
String substring(int début,int fin)
String substring(int début)
String trim()
La méthode substring de la classe String permet d'extraire une sous-chaîne d'une chaîne (1er élément en position 0)
String erreur = "phrase incomplète" ;
String s = erreur.substring(0, 4) ;
//val de s = "phra"
La méthode length permet de connaître la longueur d'une chaîne
String type_erreur = "pb écriture" ;
int long = type_erreur.length() ; // val de long = 11
La méthode charAt retourne un caractère d'une chaîne
//s.charAt(n) retourne le caractère situé à la position n,
//n a une valeur comprise entre 0 et s.length() - 1
String type_erreur = "pb écriture" ;
char last = type_erreur.charAt(10)
Il faut utiliser la méthode equals pour savoir si deux chaînes sont égales
nom.equals(temp) ;
// donne true si les chaînes nom et temp sont égales
// nom et temp peuvent être des variables ou des constantes chaînes
String maChaine = "Bonjour!";
maChaine.equals("Bonjour!");
// Renvoi vrai
Cette instruction est parfaitement valide et retourne vrai dans ce cas
L'opérateur == ne permet pas de tester l'égalité de deux chaînes !!
L'opérateur == permet juste de voir si les deux chaînes sont au même emplacement mémoire