type chaîne de chaîne utilisations Mise en route 25 détaillées

type chaîne chaîne utilisations entrée détaillée.

  • classe String représente le type de chaîne, toutes les chaînes de texte (par exemple « abc ») des programmes Java sont mis en œuvre comme des instances de cette classe. En d'autres termes, les programmes Java dans toutes les chaînes entre guillemets doubles, est un objet de la classe String.
  • paquet de chaîne de classe, donc en cas de besoin utilisé ne guide pas le paquet.

Caractéristiques de la classe chaîne

définition de la classe String String aussi appelée chaîne immuable.

  1. chaînes Immuable, leur valeur ne peut être modifiée après sa création, nous constatons que le changement de chaîne en fait de points à un nouvel objet chaîne (avant que la chaîne sera récupérée automatiquement)
  2. Il est parce que la valeur de l'objet chaîne est immuable, ils peuvent être partagés
  3. Correspond au tableau de caractères (char []) sur l'effet de la chaîne, mais le principe sous-jacent est le tableau d'octets (octet [])

D'autres façons de créer une description de l'objet chaîne

  • public String () pour créer un objet chaîne vide ne contient aucun contenu

  • public String (char [] chs) sur la base du contenu d'un tableau de caractères, pour créer un objet de chaîne

      可以吧字符数组的类容转变成字符串
      char[] chs = {'a','b','我','中','国'};
      String rs = new String(chs);
      System.out.println(rs);//ab我中国
    
  • public String (byte [] bys) en fonction du tableau d'octets du contenu pour créer un objet de chaîne

      		byte[] bytes = {97 , 98 , 99 , 65 , 66 , 67};
              String rs1 = new String(bytes);
              System.out.println(rs1);//abcABC
    
  • String s = « abc », créer une affectation directe de l'objet String, le contenu est le abc classique écrit.!

Remarque:

  • définition directe du « contenu de chaîne », à la piscine constante de chaîne.

  • sur les nouveaux objets dans la chaîne de mémoire de tas.

      34 String name1 = "赵丽颖"; // 这里有创建对象的,对象放在常量池!
      35 String name2 = "赵丽颖"; // 这里没有创建对象,共享了34行的字符串常量。
      所以这里只创建了一个字符串对象
    
    
      String name3 = new String("赵丽颖"); // 这里创建的字符串对象会放到堆内存中一份!常量池中也有一份!
      String name4 = "赵丽颖" ;  // 对象在常量池中!所以没有重新创建对象!
      所以这里也只创建了一个字符串对象
    
public class StringDemo {
    public static void main(String[] args) {
        // 1.String类型定义一个字符串对象变量:name
        String name = "cx";
        name += "学生" ; // name = name + "老师"
        System.out.println(name); // cx学生

        String name1 = "赵丽颖"; // 这里有创建对象的,对象放在常量池!
        String name2 = "赵丽颖"; // 这里没有,共享了34行的字符串常量。
        System.out.println(name1 == name2); // name1和name2指向的是同一个地址!!

        // 1.创建字符串对象的其他方式:调用有参数构造器。
        String name3 = new String("赵丽颖"); // 这里创建的字符串对象会放到堆内存中一份!!
        String name4 = "赵丽颖" ;  // 对象在常量池中!建议这样定义!
        System.out.println(name3);
        System.out.println(name4);

        // 2.  public String(char[] chs) 根据字符数组的内容,来创建字符串对象(了解)
        char[] chs = {'a','b','我','中','国'};
        String rs = new String(chs);
        System.out.println(rs);

        // 3.public String(byte[] bys) 根据字节数组的内容,来创建字符串对象
        byte[] bytes = {97 , 98 , 99 , 65 , 66 , 67};
        String rs1 = new String(bytes);
        System.out.println(rs1);
    }
}

Publié 34 articles originaux · louange gagné 16 · vues 279

Je suppose que tu aimes

Origine blog.csdn.net/qq_41005604/article/details/105251183
conseillé
Classement