Je ne savais pas comment concaténer des chaînes dans la classe StringBuilder
J'ai essayé de résumer cette fois pour fixer les connaissances.
Tout d'abord, la classe String est une classe ** Immuable **.
Par conséquent, chaque fois qu'une chaîne de caractères est concaténée avec l'opérateur +, la zone de la mémoire devient
Il ne se propage pas et l'instance String se développe.
En tant que mécanisme, chaque fois que vous ajoutez ou modifiez une chaîne de caractères
Une nouvelle classe String a été générée.
En d'autres termes, car il est instancié plusieurs fois en interne
Cela met une charge sur la JVM et ralentit le processus.
*** La concaténation de chaînes de caractères utilisant "+" gaspille de la mémoire. *** ***
Une classe qui résout ce problème et peut concaténer des chaînes sans délai
Classe StringBuilder </ strong> et Classe StringBuffer </ strong>.
Ces classes sont des classes ** mutables ** (variables).
La concaténation de caractères par la méthode append () devient la concaténation de chaînes de caractères par "+"
Par rapport à cela, il permet un traitement très efficace.
Cette fois, je vais résumer StringBuilder </ strong>.
Le flux est le suivant.
Appelez la méthode append () avec une valeur dans l'argument réel Ajoutez des chaînes de caractères au tampon.
Enfin, appelez la méthode toString () Retirez la chaîne de caractères terminée.
A part: Buffer signifie tampon. Il a aussi la signification d'une zone de stockage.
Exemple de code
Main.java
public class Main {
public static void main(String[] args) {
/*
*Instancier la classe StringBuilder
*Il a une capacité (buffer) de 16 caractères par défaut.
*/
StringBuilder sb = new StringBuilder();
//① append()Appelez une méthode et ajoutez une chaîne au tampon
sb.append("riz blanc,");
sb.append("soupe miso,");
sb.append("Oeufs grillés,");
sb.append("Natto");
//② toString()Appelez et récupérez la chaîne.
String morning = sb.toString();
System.out.println(morning);
}
}
Résultat de sortie
Main.java
riz blanc,soupe miso,Oeufs grillés,Natto
De plus, la méthode append () a une valeur de retour spéciale.
Voir la documentation de l'API.java
//Déclaration de méthode
public StringBuilder append(String str)
-Explication de la valeur de retour: Référence à cet objet
Même si la valeur de retour est vide juste pour ajouter une chaîne au tampon
Cela ne me dérange pas, mais j'ose utiliser "moi-même" comme valeur de retour
La raison du retour est d'activer les noms suivants.
Sample.java
StringBuilder sb = new StringBuilder();
sb.append("riz blanc,").append("ramen,").append("Gyoza");
De cette façon, une série de méthodes qui renvoient une référence à elle-même
La méthode d'appel est appelée *** chaîne de méthodes ***.
Jusqu'à présent, la concaténation de chaînes était effectuée avec l'opérateur +.
J'étais un peu confus (amateur de Zub nu ... lol).
Mais si l'utilisation de cette classe améliorera considérablement le traitement
Je veux pouvoir l'utiliser au plus vite! !!
Vraiment, "Habituez-vous plutôt que d'apprendre!" Lol
[Introduction à Java Practical Edition](https://www.amazon.co.jp/dp/4844336770/ref=asc_df_48443367702547157/?tag=jpgo-22&creative=9303&creativeASIN=4844336770&linkCode=df0&hvadid=29568v48&linkCode=df0&hvadid=29568v48&linkcode=df0&hvadid=29568v48&hc67n=48 & hvqmt = & hvdev = c & hvdvcmdl = & hvlocint = & hvlocphy = 1028852 & hvtargid = pla-524383774470 & th = 1 & psc = 1)
Recommended Posts