Maison > Java > javaDidacticiel > Comment utiliser StringBuffer et StringBuilder en Java

Comment utiliser StringBuffer et StringBuilder en Java

王林
Libérer: 2023-06-02 15:01:18
avant
1449 Les gens l'ont consulté

Lors de la modification de chaînes, vous devez utiliser les classes StringBuffer et StringBuilder. Différents de la classe String, les objets des classes StringBuffer et StringBuilder peuvent être modifiés plusieurs fois sans générer de nouveaux objets inutilisés.

Comment utiliser StringBuffer et StringBuilder en Java

StringBuffer : Lors de l'utilisation de la classe StringBuffer, l'objet StringBuffer lui-même sera exploité à chaque fois au lieu de générer un nouvel objet, il est donc recommandé d'utiliser StringBuffer si vous devez modifier la chaîne.

StringBuilder : La classe StringBuilder a été proposée dans Java 5. La plus grande différence entre elle et StringBuffer est que les méthodes de StringBuilder ne sont pas thread-safe (ne sont pas accessibles de manière synchrone). Étant donné que StringBuilder présente un avantage en termes de vitesse par rapport à StringBuffer, il est recommandé d'utiliser la classe StringBuilder dans la plupart des cas.

Exemple d'utilisation de StringBuilder :

public class RunoobTest{
    public static void main(String args[]){
        StringBuilder sb = new StringBuilder(10);
        sb.append("Runoob..");
        System.out.println(sb);  
        sb.append("!");
        System.out.println(sb); 
        sb.insert(8, "Java");
        System.out.println(sb); 
        sb.delete(5,8);
        System.out.println(sb);  
    }
}
// 实例编译运行结果如下:
// Runoob..
// Runoob..!
// Runoob..Java!
// RunooJava!
Copier après la connexion

Comment utiliser StringBuffer et StringBuilder en Java

Cependant, lorsque l'application nécessite une sécurité des threads, la classe StringBuffer doit être utilisée. StringBuffer utilise l'exemple :

public class Test {
    public static void main(String args[]) {
        StringBuffer sBuffer = new StringBuffer("稀土掘金:");
        sBuffer.append("www");
        sBuffer.append(".juejin");
        sBuffer.append(".cn");
        System.out.println(sBuffer);
    }
}

// 实例编译运行结果如下:
// 稀土掘金:www.juejin.cn
Copier après la connexion

méthode stringBuffer

La classe StringBuffer prend en charge :

numéro de série description de la méthode
1Public StringBuffer Append (String S), la chaîne spécifiée sera ajouté à cette séquence de caractères
2 public StringBuffer reverse(), remplacez cette séquence de caractères par sa forme inversée
3 public delete(int start, int end), supprimez cette séquence Caractères dans la sous-chaîne
4 public insert(int offset, int i), insérez la représentation sous forme de chaîne du paramètre int dans cette séquence
5insert(int offset, String str) , insérez la chaîne du paramètre str dans cette séquence
6replace(int start, int end, String str) , remplace les caractères de la sous-chaîne de cette séquence par les caractères de la String donnée

Autres méthodes courantes de la classe StringBuffer :

Numéro de sérieDescription de la méthode
1int capacité(), renvoie la capacité actuelle
2char charAt(int index), renvoie ceci La valeur char à l'index spécifié dans la séquence
3void assureCapacity(int minimumCapacity), assurez-vous que la capacité est au moins égale au minimum spécifié
4void getChars(int srcBegin, int srcEnd, char[] dst , int dstBegin ), copie les caractères de cette séquence dans le tableau de caractères cible dst
5int indexOf(String str), renvoie l'index de la première occurrence de la sous-chaîne spécifiée dans la chaîne
6int indexOf(String str, int fromIndex), à partir de l'index spécifié, renvoie l'index de la première occurrence de la sous-chaîne spécifiée dans la chaîne
7int lastIndexOf(String str ), renvoie l'index de la dernière occurrence de la sous-chaîne spécifiée dans cette chaîne
8int lastIndexOf(String str, int fromIndex), renvoie l'index de la dernière occurrence du caractère spécifié dans cette chaîne, lance une recherche inversée à partir de l'index spécifié
9int length(), renvoie la longueur (nombre de caractères)
10void setCharAt(int index, char ch), renvoie l'index donné Les caractères sont définis sur la valeur du paramètre ch
11void setLength(int newLength), définit la longueur de la séquence de caractères
12CharSequence subSequence(int start, int end), renvoie une nouvelle séquence de caractères, cette séquence de caractères est une sous-séquence de cette séquence
13Sous-chaîne de chaîne (int start), renvoie une nouvelle chaîne qui contient la sous-séquence de caractères actuellement contenue par cette séquence de caractères
14Sous-chaîne de chaîne (int start, int end), renvoie une new String qui contient la sous-séquence de caractères actuellement contenue dans cette séquence
15String toString(), renvoie la représentation sous forme de chaîne des données dans cette séquence

Instance de méthode : color{red}{Instance de méthode : }Instance de méthode :

reverse() Instance de méthode :

public synchronized StringBuffer reverse()
Copier après la connexion

Description :

Remplacez cette séquence de caractères par sa forme inversée.

Paramètres :

Aucun

Valeur de retour :

La forme inversée de la séquence de caractères.

public class Test {
    public static void main(String args[]) {
        String string="niJeuJ";
        String reverse = new StringBuffer(string).reverse().toString();
        System.out.println("字符串反转前:"+string);
        System.out.println("字符串反转后:"+reverse);
    }
}

// 以上程序执行结果为:
// 字符串反转前:niJeuJ
// 字符串反转后:JueJin
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Impossible d'installer Java
Depuis 1970-01-01 08:00:00
0
0
0
Java peut-il être utilisé comme backend du Web ?
Depuis 1970-01-01 08:00:00
0
0
0
Installer JAVA
Depuis 1970-01-01 08:00:00
0
0
0
Aide : Données chiffrées JAVA Décryptage PHP
Depuis 1970-01-01 08:00:00
0
0
0
Est-ce en langage Java ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal