Maison  >  Article  >  Java  >  Retrouver les bases de Java (13) : Résumé des sœurs String StringBuffer et StringBuilder

Retrouver les bases de Java (13) : Résumé des sœurs String StringBuffer et StringBuilder

黄舟
黄舟original
2017-01-16 10:08:211107parcourir

Reprendre les bases de Java (13) : Résumé des sœurs String StringBuffer et StringBuilder

Présentation de la classe StringBuffer

  1. buffer : Buffer

2. Le tampon de chaîne, très similaire à String, est utilisé pour stocker les données de chaîne

3. . La classe String et la classe StringBuffer ont un tableau de caractères, qui est le tampon. Nous ne pouvons pas utiliser le tampon de la classe String, mais le tampon de la classe StringBuffer peut contrôler sa longueur

4 . lang package

5. Le tampon peut s'agrandir automatiquement lorsqu'il n'est pas suffisant

2. Méthode de construction

public StringBuffer(),无参构造方法,构造一个空的字符串缓冲区,初始容量为16个字符
public StringBuffer(int capacity),构造一个指定容量的空的字符串缓冲区
public StringBuffer(String str),使用一个字符串作为初始内容来构造一个字符串缓冲区,并在后面预留16个字符的空缓冲区
1. StringBuffer sb="hello";   不行
2. StringBuffer sb=new StringBuffer("hello");   
sb+"world";   不行

3. Méthodes fonctionnelles

public StringBuffer append(任意类型 o),把任意类型数据的字符串表达形式追加到缓冲区的最后(例如:如果是对象,追加的是其toString方法的返回值)
public StringBuffer insert(int offset,任意类型 o),把任意类型的字符串表达形式插入到缓冲区指定位置
public int capacity(),获得字符串缓冲区的当前容量
public int length(),获得字符串缓冲区内字符串的长度
public StringBuffer delete(int start,int end),删除缓冲区指定起始位置的字符串
public StringBuffer deleteCharAt(int index),删除缓冲指定位置的字符
public StringBuffer replace(int start,int end,String str),把缓冲区指定位置的字符串替换为新的字符串
public StringBuffer reverse(),字符串反转(倒)
public String toString(),把StringBuffer转换为String类型

4. La différence entre String et StringBuffer

1. StringBuffer sb="hello";   不行
2. StringBuffer sb=new StringBuffer("hello");   sb+"world";   不行
3. String对象是不可变的,StringBuffer对象是可变的(画内存分配图)
4. StringBuffer保证线程安全(数据同步),String不保证线程安全(数据不同步)

5. Classe StringBuilder

  1. C'est la même chose que StringBuffer, les deux classes sont compatibles

2 Cette classe ne garantit pas la sécurité des threads

3. Sans considérer plus Dans le cas des threads, l'efficacité des trois sœurs chaîne : Classe StringBuilder > Classe StringBuffer > Classe String Si vous connectez des constantes de chaîne, il est plus efficace d'utiliser le " " de la chaîne si vous connectez des variables de chaîne, il est plus efficace d'utiliser la méthode append de StringBuffer Higher

6. Classe d'empaquetage

  1. Java a 8 types de données de base : octet, court , int, long; float, double; char, boolean

2. String s="100"; String s="99.999" ;

3. types de données de référence correspondant aux types de données de base : Byte, Character, Short, Integer, Long, Float, Double, Boolean

4. Qu'il s'agisse de types de données de référence ou de types de données de base, leurs fonctions sont les mêmes. La principale différence est la suivante : les types de référence peuvent fournir des méthodes, mais les types de données de base ne le peuvent pas.

5 Le type de données de référence correspondant au type de données de base est appelé une classe wrapper

6. class Integer i=new Integer(100); //Boxing //int i=100; Integer j=100; //Boxing automatique (après JDK5) System.out.println(i.intValue() 100); System.out.println(i 100); //Déballage automatique (après JDK5)

7 La fonction principale des classes d'empaquetage

Ces classes fournissent quelques méthodes fonctionnelles. , vous pouvez convertir les données de type String en une classe wrapper ou un type de données de base 1. Convertir entre la classe String et la classe wrapper a. Convertir la classe wrapper en String Integer i=100; i "" toString() b. Dans quelle classe se trouve cette méthode, sa fonction est de convertir d'autres types dans la classe dans laquelle elle se trouve. 2. Conversion mutuelle entre les types de données String et de base a. Conversion des types de données de base en String "" Conversion de chaîne Pour les types de données de base.

8. Expressions régulières

  1. Le programme doit vérifier les données saisies par le client

2. Le rôle des expressions régulières est de vérifier les données (pour le format)

3 Exemple : Ligne fixe de la ville de Zhengzhou (0371-56061160-223) L'indicatif régional est fixé à 0371. Le numéro de téléphone est fixé à 8 chiffres et ne peut pas commencer par 0. Le numéro de poste est facultatif. Les 1 à 3 chiffres sont tous des chiffres. Le milieu est séparé par "-"

4. 9]/ /d{7}(-//d{1,3})?";

5. Les expressions régulières existent sous forme de chaînes

6. Les expressions régulières sont composées d'un tas de symboles spéciaux, utilisés pour décrire ou exprimer le format d'une certaine donnée

9. Comment écrire des expressions régulières

1. Écrivez d'abord fixe Inchangé 2 . Ensuite, écrivez-le en blocs. Chaque bloc spécifie d'abord le type puis le numéro

10. Comment utiliser les expressions régulières pour la vérification des données

1.String类的public boolean matches(String regex){}String email="601141632@qq.com";String email_regex=".+@//w+//.[a-z]{2,}";email.matches(email_regex);
2.java.util.regex包中有个Pattern类public static matches(String regex,String input){}

11.

  1. La méthode split de la classe String prend en charge les expressions régulières

2. ne prend pas en charge les expressions régulières et replaceAll prend en charge les expressions régulières


Ce qui précède consiste à retrouver les bases de Java (13) : String sisters Résumé de StringBuffer et StringBuilder Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
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