Junior
Parlez-moi de la classe String dans le langage de programmation que vous connaissez.
sobes.tech IA
Réponse de l'IA
Dans le contexte de Java, String est une classe immuable représentant une séquence de caractères. Les objets String sont créés, par exemple, en utilisant des littéraux ou l'opérateur new.
Caractéristiques :
- Immutabilité : Après la création d'un objet
String, son contenu ne peut pas être modifié. Toute opération qui semble modifier la chaîne (par exemple, la concaténation) crée en réalité une nouvelle chaîne. Cela garantit la sécurité lors de l'utilisation avec des threads et des tables de hachage. - Pool de chaînes : Pour les littéraux de chaînes, la JVM Java utilise une zone mémoire spéciale appelée pool de chaînes. Si une chaîne avec le même contenu existe déjà dans le pool, la JVM utilise une référence à cet objet au lieu d'en créer un nouveau. Cela optimise l'utilisation de la mémoire.
- Surcharge de l'opérateur
+: L'opérateur+pour les chaînes est utilisé pour la concaténation. - De nombreuses méthodes utiles : La classe
Stringoffre une large gamme de méthodes pour manipuler les chaînes : obtenir la longueur (.length()), comparer (.equals(),.equalsIgnoreCase()), rechercher des sous-chaînes (.contains(),.indexOf()), extraire des sous-chaînes (.substring()), remplacer des caractères (.replace()), convertir en majuscules/minuscules (.toUpperCase(),.toLowerCase()), supprimer les espaces (.trim()) et plus encore.
Exemples :
Création de chaînes :
// Création avec littéral - placé dans le pool de chaînes
String s1 = "Hello";
// Création avec new - crée un nouvel objet en dehors du pool
String s2 = new String("World");
// Concaténation de chaînes
String s3 = s1 + " " + s2;
Exemple d'immutabilité :
String original = "abc";
String modifié = original.concat("def"); // Crée une nouvelle chaîne
// original reste "abc"
System.out.println(original); // Affiche : abc
// modifié est une nouvelle chaîne "abcdef"
System.out.println(modifié); // Affiche : abcdef
Méthodes importantes :
String text = " Example String ";
// Longueur de la chaîne
int length = text.length(); // 18
// Comparaison de chaînes
boolean isEqual = text.equals(" Example String "); // true
// Comparaison sans tenir compte de la casse
boolean isEqualIgnoreCase = text.equalsIgnoreCase(" example string "); // true
// Recherche de sous-chaîne
boolean contains = text.contains("String"); // true
int index = text.indexOf("String"); // 10
// Extraction de sous-chaîne
String sub = text.substring(10, 16); // String
// Remplacement de caractères
String remplacé = text.replace(" ", "-"); // --Example-String--
// Suppression des espaces en début et fin
String trimmed = text.trim(); // Example String
String est largement utilisé en Java pour représenter des informations textuelles et constitue une classe fondamentale pour le traitement des chaînes.