Il existe deux types d'opérations de chaîne dans Java: String Class et StringBuffer Class (classe Buffer String Processing Class).
Parlons brièvement de la différence entre les deux.
La classe String et la classe StringBuffer fournissent des méthodes correspondantes pour implémenter les opérations de chaîne, mais les deux sont légèrement différentes.
(1) classe de chaîne
Une fois que cette classe a produit une chaîne, son objet est immuable. Le contenu et la longueur de la classe String sont fixes. Si le programme doit obtenir des informations de chaîne, il est nécessaire d'appeler diverses méthodes de fonctionnement des chaînes fournies par le système. Bien que les opérations puissent être appliquées aux chaînes via diverses méthodes système, cela ne modifie pas l'instance d'objet elle-même, mais génère une nouvelle instance. Le système alloue la mémoire pour les objets de classe de chaîne, qui sont alloués en fonction du nombre réel de caractères contenus dans l'objet.
(2) Classe StringBuffer
J'ai vérifié le mot tampon, ce qui signifie tampon, et cette classe doit avoir une fonction tampon. Cette classe gère les chaînes variables. Si vous souhaitez modifier une chaîne de classe StringBuffer, vous n'avez pas besoin de créer un nouvel objet String, mais fonctionne directement de la chaîne d'origine. Les différentes méthodes de fonctionnement des chaînes de cette classe sont différentes de celles fournies par la classe String. Lorsque le système alloue la mémoire à la classe StringBuffer, en plus de l'espace occupé par les caractères actuels, il fournit également un tampon supplémentaire de 16 caractères. Chaque objet StringBuffer a une certaine capacité de tampon. Lorsque la taille de la chaîne ne dépasse pas la capacité, la nouvelle capacité ne sera pas allouée. Lorsque la taille de la chaîne dépasse la capacité, la capacité sera automatiquement augmentée.
Voici quelques exemples spécifiques
Connexion de chaîne
Il existe deux méthodes pour la classe String
Le premier type ("+")
classe publique str {public static void main (string [] args) {String str1 = "Ajouter des effets spéciaux!"; String str2 = "duang ~~"; System.out.println (str1 + "" + str2); }}Le deuxième type ("Concat")
classe publique str {public static void main (string [] args) {String str1 = "Ajouter des effets spéciaux!"; String str2 = "duang ~~"; System.out.println (str1.concat (str2)); }}Méthodes de classe StringBuffer
classe publique str {public static void main (string [] args) {// Construire un objet qui tamponne les chaînes sb stringbuffer sb = new StringBuffer ("Ajouter des effets spéciaux!"); // Utilisez la méthode APPEND pour ajouter une nouvelle chaîne sb.append ("duang ~~"); System.out.println (SB); }}Les résultats de sortie finaux sont les suivants: ajouter des effets spéciaux! Duang ~~
Il n'est pas difficile de voir à partir de l'exemple ci-dessus que lorsque la classe de chaîne est étendue, il doit installer deux objets, chaque objet occupera une certaine quantité de mémoire. La classe StringBuffer n'a pas besoin d'instancier une nouvelle classe, elle n'a qu'à appeler une méthode étendue.
Il y a aussi un point où la capacité de mémoire de la classe StringBuffer est évolutive. Donnons un exemple spécifique:
classe publique str {public static void main (string [] args) {// disclare string object sb stringbuffer sb = new StringBuffer (40); System.out.println (sb.capacity ()); // Capacité de chaîne de sortie SB.ENSURECAPACITY (100); // élargir la capacité System.out.println (sb.capacity ()); // Capacité de chaîne de sortie}}La méthode Capacité () représente le nombre d'objets de chaîne qui peuvent accueillir des chaînes en mémoire. Si vous souhaitez étendre la capacité de mémoire, vous pouvez utiliser la méthode Assurecacity ().
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.