La précédente série Java Basics traitait des concepts fondamentaux de Java, en particulier des fondements de l'orientation objet. En Java Advanced, je compléterai les bases de Java et passerai au niveau application.
La plupart des langages de programmation peuvent gérer des chaînes. Une chaîne est une collection ordonnée de caractères, tels que « Hello World ! ». En Java, les chaînes sont stockées en tant qu'objets de classe String. L’appel de méthodes d’objets chaîne peut implémenter des opérations liées aux chaînes.
La classe String est incluse dans le package java.lang. Ce package sera automatiquement importé au démarrage de Java, il pourra donc être utilisé comme classe intégrée. Nous n'avons pas besoin d'utiliser explicitement import pour introduire la classe String.
Créer une chaîne
Nous utilisions auparavant des classes pour créer des objets. Il convient de noter que le mot-clé new n’est pas requis pour créer un objet de classe String. Par exemple:
Copiez le code comme suit :
Test de classe publique
{
public static void main (String[] arguments)
{
Chaîne s = "Bonjour tout le monde !";
System.out.println(s);
}
}
En fait, lorsque vous écrivez une expression « Hello World », l’objet est déjà créé en mémoire. Si vous utilisez new String("Hello World!"), un objet chaîne sera créé à plusieurs reprises.
Un objet
La classe String est la seule classe qui ne nécessite pas le mot-clé new pour créer des objets. Il faut faire attention lors de son utilisation.
Opérations sur les chaînes
Vous pouvez utiliser + pour concaténer des chaînes, par exemple :
Copiez le code comme suit :
"abc" + s
Les opérations sur les chaînes sont principalement implémentées via les méthodes de chaînes correspondantes, telles que les méthodes suivantes :
Copiez le code comme suit :
Effet de méthode
s.length() renvoie la longueur de la chaîne s
s.charAt(2) renvoie le caractère avec l'indice 2 dans la chaîne s
s.substring(0, 4) renvoie la sous-chaîne avec les indices 0 à 4 dans la chaîne s.
s.indexOf("Hello") renvoie l'index de la sous-chaîne "Bonjour"
s.startsWith(" ") détermine si s commence par un espace
s.endsWith("oo") détermine si s se termine par "oo"
s.equals("Good World!") détermine si s est égal à "Good World!"
== peut uniquement déterminer si la chaîne est enregistrée au même emplacement. Vous devez utiliser equals() pour déterminer si le contenu des chaînes est le même.
s.compareTo("Hello Nerd!") compare la chaîne s avec l'ordre de "Hello Nerd!"
Renvoie un entier Si <0, cela signifie que s est avant « Hello Nerd ! » ;
Si >0, cela signifie que s est après « Hello Nerd ! » ;
Si ==0, cela signifie que s est égal à "Hello Nerd!".
s.trim() supprime la chaîne d'espace avant et après s et renvoie une nouvelle chaîne
s.toUpperCase() convertit s en lettres majuscules et renvoie une nouvelle chaîne
s.toLowerCase() convertit s en minuscules et renvoie une nouvelle chaîne
s.replace("World", "Universe") remplace "World" par "Universe" et renvoie une nouvelle chaîne
objets immuables
Les objets de classe String sont des objets immuables. Les programmeurs ne peuvent pas modifier les objets immuables existants. Nous pouvons également créer nous-mêmes des objets immuables, à condition que l'interface ne fournisse pas de méthodes de modification des données.
Cependant, les objets de la classe String ont des fonctions pour éditer des chaînes, telles que replace(). Ces fonctions d'édition sont implémentées en créant un nouvel objet plutôt qu'en modifiant l'objet d'origine. Par exemple:
Copiez le code comme suit :
s = s.replace("Monde", "Univers");
L'appel à s.replace() à droite crée une nouvelle chaîne "Hello Universe!" et renvoie (une référence à) cet objet. Par affectation, la référence s pointera vers la nouvelle chaîne. S'il n'y a aucune autre référence à la chaîne d'origine "Hello World!", l'objet chaîne d'origine sera récupéré.
objets immuables
API Java
Java fournit de nombreux packages puissants. Un aspect important de l’apprentissage Java est la compréhension de ces packages et des API (Application Programming Interface) qu’ils contiennent. La classe String est définie dans java.lang.String. Vous pouvez interroger le site Web Oracle suivant pour trouver la documentation officielle de cette classe :
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html
Ce document contient l'introduction la plus complète à la classe String.
En fait, la documentation de l'API contient une multitude de contenus, dont vous pouvez obtenir un aperçu via le lien ci-dessous :
http://docs.oracle.com/javase/6/docs/api/