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

Comment utiliser StringBuffer et StringBuilder en Java

王林
王林avant
2023-06-02 15:01:181340parcourir

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!

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

méthode stringBuffer

La classe StringBuffer prend en charge :

numéro de série description de la méthode
1 Public 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
5 insert(int offset, String str) , insérez la chaîne du paramètre str dans cette séquence
6 replace(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érie Description de la méthode
1 int capacité(), renvoie la capacité actuelle
2 char charAt(int index), renvoie ceci La valeur char à l'index spécifié dans la séquence
3 void assureCapacity(int minimumCapacity), assurez-vous que la capacité est au moins égale au minimum spécifié
4 void 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
5 int indexOf(String str), renvoie l'index de la première occurrence de la sous-chaîne spécifiée dans la chaîne
6 int 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
7 int lastIndexOf(String str ), renvoie l'index de la dernière occurrence de la sous-chaîne spécifiée dans cette chaîne
8 int 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é
9 int length(), renvoie la longueur (nombre de caractères)
10 void setCharAt(int index, char ch), renvoie l'index donné Les caractères sont définis sur la valeur du paramètre ch
11 void setLength(int newLength), définit la longueur de la séquence de caractères
12 CharSequence 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
13 Sous-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
14 Sous-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
15 String 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()

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

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer