Java : Une introduction aux chaînes de caractères

A String

basically is a array of characters. Les chaînes de caractères sont utilisées dans presque tous les langages de programmation. Le langage de programmation Java fournit une classe d'enveloppes de chaînes qui est utile pour créer et manipuler des chaînes.

  • Créer des chaînes
  • Ce que vous pouvez faire avec des chaînes
  • Modifier des chaînes

Créer des chaînes

La façon la plus simple de créer une chaîne est d'utiliser la syntaxe suivante :

Chaîne hello = " Bonjour le monde !";

"Hello World !" est une chaîne littérale qui est affectée à la variable quote. Cette ligne de code est équivalente à la création d'un tableau de caractères et à l'appel du constructeur de chaînes avec celui-ci :

char[] hello = { 'H&apos ;, 'e&apos ;, 'l&apos ;, 'l&apos ;, 'o&apos ;, &apos ; &apos ;, 'W&apos ; , 'o&apos ;, 'r&apos ;, 'l&apos ;, 'd&apos ;, ' !'};

String helloString = new String(hello);

En fait, chaque fois que le compilateur lit une chaîne de caractères littérale incluse dans des quotes dans votre code, il va automatiquement créer un objet String pour cette séquence de caractères.

String concatenated = "ABC" + "DEF" ; //"ABCDEF"

Cela signifie que l'énoncé ci-dessus aboutira à la création de trois objets String. Les deux chaînes utilisées pour créer la concaténée seront immédiatement éliminées, mais

Please keep in mind : Bien que la classe Strough soit un wrapper pour le tableau de caractères sous-jacent, il n'est pas possible d'y accéder directement par quelque moyen que ce soit. Les chaînes de caractères sont immobilisables. Cela signifie que vous ne pouvez pas modifier directement un objet String. hello et concatenated dans ce cas ne sont que des références à des objets String quelque part dans la mémoire. Vous pouvez donc les modifier comme n'importe quelle autre variable. Mais à chaque fois que vous modifiez le contenu d'une référence de chaîne, une nouvelle chaîne avec le contenu souhaité est créée. Cela peut être une source de problèmes si vous voulez modifier une chaîne très souvent, ce qui peut être le cas si vous voulez concaténer plusieurs chaînes ensemble. Dans de tels cas, vous pouvez envisager d'utiliser un StringBuilder pour augmenter les performances

Ce que vous pouvez faire avec les chaînes

Comme vous le savez peut-être déjà, vous pouvez imprimer une chaîne vers la console en utilisant les méthodes d'impression standard comme println.

String hello = "Hello World !";
System.out.println(hello)

Occasionnellement, il est important de savoir combien de caractères la chaîne contient - ou en d'autres termes - pour déterminer la longueur de la chaîne. Ceci peut être réalisé par la méthode de la longueur.

String hello = "Hello World !";
int length = hello.length() ; //Assign 12 to length

Si nos variables de chaîne ne sont que des références, elles ne peuvent pas être comparées avec les opérateurs logiques tels que == ou !=. Au lieu de cela, vous pouvez utiliser des fonctions prédéfinies de la classe de chaînes.

Chaîne s1 = "Hello";
Chaîne s2 = "HELLO";

s1.equals(s2) ; // false
s1.equalsIgnoreCase(s2) ; // true
s1.compareTo(s2) ; // > 0 parce que 'e&apos ; vient après 'E'

La fonction equals compare les deux chaînes et renvoie une valeur booléenne si les chaînes sont égales ou non. equalsIgnoreCase peut être utilisé si la capitalisation des deux chaînes n'a pas d'importance. compareTo peut être utilisé non seulement pour vérifier si deux chaînes sont identiques mais aussi pour les trier lexicographiquement. La fonction renverra 0 si les deux chaînes sont égales, un intégral négatif si la première chaîne est "plus petite" et un intégral positif si la chaîne est "plus grande".

Modifying Strings

Les chaînes ont certaines méthodes prédéfinies pour les modifier. Gardez cependant à l'esprit qu'à chaque fois que ces fonctions sont appelées, une nouvelle chaîne est créée qui doit être assignée à une variable.

Chaîne s1 = "Hello";
Chaîne s2;
s2 = s1.toLowerCase() ; // "hello"
s2 = s1.String toUpperCase() ; // "HELLO"
s2 = s1.String trim() ; // "Hello" (supprime les espaces blancs traînants et conducteurs)
s2 = s1.String replace('e&apos ;, 'a&apos ;); // "Hello"
char[] charArray = s1.toCharArray() ; // créer un tableau de chars à partir de s1

Si vous choisissez de créer un tableau de chars à partir de la chaîne de caractères, vous pouvez y apporter toutes les modifications que vous souhaitez et le placer dans un nouvel objet chaîne. C'est la méthode la plus simple pour apporter une modification personnalisée à une chaîne de caractères.