[JAVA] À propos de la classe StringBuilder

introduction

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.

La description

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>.

Exemple de code

Le flux est le suivant.

  1. Appelez la méthode append () avec une valeur dans l'argument réel Ajoutez des chaînes de caractères au tampon.

  2. 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

Chaîne de méthodes

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 ***.

à la fin

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

référence

[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)

  • Lors de l'achat des livres ci-dessus, vérifiez la page derrière les livres pour voir s'il s'agit de l'impression ○. Assurez-vous d'acheter la dernière version!

Recommended Posts