Java StringBuilder、基本類型的包裝類

字符串的緩衝區StringBuilder

 

一、介紹數組

  一、StringBuilder是一個可變的字符序列,好像是一個容器,由於在類中提供了修改私有成員變量的方法。
  經常使用的方法是append和insert,就是在StringBuilder對象自己上,進行修改操做。
  二、StringBuilder底層和String底層都是維護了一個字符數組,數組自己私有的,由於String類型沒有向外暴露修改私有成           員的方法,因此不能修改,StringBuilder向外暴露了修改私有成員的方法,能夠修改字符序列。安全

  三、StringBuilder和String都是用來描述字符串。
  四、String不可修改,長度也不能夠改變
  五、StringBuilder可修改,長度也能夠修改,比較靈活。
二、 StringBuilder的構造方法
  StringBuilder():建立一個容器,初始容量爲16
  StringBuilder(String str):建立了一個容器,初始空量爲16+str.length()
  StringBuilder(int capacity):建立了一個容器,初始容量爲capacity
  capacity():獲取當前容器的大小
  length():獲取當前容器中的字符個數
  自動擴容
三、添加功能
  1.append(任意類型):能夠將任意數據類型,轉成字符串,添加到容器中。
  2.insert(int index,任意類型):能夠將任意類型添加到指定的位置。
四、刪除功能
  1.StringBuilder delete(int start, int end):包含頭不含尾
  2.StringBuilder deleteCharAt(int index)
5.替換和反轉功能
  1.replace()
  2.reverse()
六、String和StringBuilder拼接字符串的區別
  1.使用String類型接拼字符串:時間和空間上都很是浪費。多線程

    String str = "abc";
    str+="abc";
  2.使用StringBuilder拼接字符串的時候,就是往容器不斷地添加,
  3.String和StringBuilder的類型轉換
    1. String轉成StringBuilder
      StringBuilder的構造方法
      append方法
    2. StringBuilder轉成String
      toString()方法
      String()的構造方法
七、StringBuffer和StringBuilder的區別
  1.共同點
    都是字符串的緩衝區,都是字符串的容器,都是可變的字符串列。
  2.不一樣點
    1.出現版本不一樣:
      StringBuffer在jdk1.0出現
      StringBuilder在jdk1.5出現
    2.線程安全不一樣:
      StringBuffer是線程安全的,在多線程環境下仍然保持數據安全
      StringBuilder是線程不安全的,在多線程下沒法保證線程據安全
    3.效率不一樣
      StringBuffer的效率低
      StringBuilder的效率高app

public class Demo01 {

    public static void main(String[] args) {
        String str = "abc";
        update(str);
        System.out.println(str);//abc

    }

    private static void update(String str) {
        str = "xyz";
        System.out.println(str);//xyz
        
    }

}
String和StringBuilder做爲方法的參數1
public class Demo06 {

    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("abc");
        update(sb);
        System.out.println(sb);//abc

    }

    private static void update(StringBuilder sb) {
        sb = new StringBuilder("xyz");
        System.out.println(sb);//xyz
        
    }

}
String和StringBuilder做爲方法的參數2
public class Demo03 {

    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("abc");
        update(sb);
        System.out.println(sb);//xyz
        

    }

    private static void update(StringBuilder sb) {
        sb.replace(0, sb.length(), "xyz");
        System.out.println(sb);//xyz
        
    }

}
String和StringBuilder做爲方法的參數3

基本類型的包裝類

一、包裝類
  一、基本數據類型有八種,都是很是簡單的數據類型。
  二、在這些類型中,只能表示簡單的數據,不能包含一些對數據的操做,沒有辦法 存儲描述這些數據的崆,需一個
  引用數據類型,能將基本數據類型進行包裝,提供一些操做基本類型的方法,定義一些描述數據的數據。
  三、基本類型的包裝類
    byte Byte
    short Short
    int Integer
    long Long

    float Float
    double Double

    char Character

    boolean Booleanide

二、Integer類
  1.以Integer舉例,觸類旁通
  2.Integer類型的對象中,維護了一個私有成員的變量,是一個int類型。
  3.提供了在int,Integer,String類型之間相互轉換的方法
  4.提供了一些常量
 Integer的構造方法
  Integer(int value)
    構造一個新分配的 Integer 對象,它表示指定的 int 值。
  Integer(String s)
    構造一個新分配的 Integer 對象,它表示 String 參數所指示的 int 值。
 Integer類型的成員方法
    1.xxxValue():能夠將Integer類型的對象,轉成其它的基本數據類型
    2.經常使用靜態方法
      static int parseInt(String s):將字符串以十進制的方式解讀爲一個int類型
      static int parseInt(String s, int radix): 將字符串以radix的方式解讀爲一個int類型
      static String toBinaryString(int i):使用二進制的表示方式來表示數字
      static String toOctalString(int i)
      static String toHexString(int i)
      String toString()
      static Integer valueOf()
 Integer類型的常量
  static int MAX_VALUE
    值爲 231-1 的常量,它表示 int 類型可以表示的最大值。
  static int MIN_VALUE
    值爲 -231 的常量,它表示 int 類型可以表示的最小值。
  static int SIZE
    用來以二進制補碼形式表示 int 值的比特位數。
  static Class<Integer> TYPE
    表示基本類型 int 的 Class 實例。
 Integer,int,String類型互相轉換的總結
  1.Integer轉爲int類型
    intValue()
  2.int轉爲Integer類型
    構造方法
  3.Integer轉爲String的類型
    toString()
  4.String轉爲Integer
    構造方法
    valueOf()
  5.int轉爲String
    Integer.toString(int i)
    5+" "
  6.String轉爲int類型
    Integer.parseInt(String str);
 自動裝箱和拆箱(JDK1.5以後)
   裝箱:基本數據類型轉換包裝類
   拆箱:包裝類轉爲基本數據類型ui

public class Demo03 {

    public static void main(String[] args) {
        Integer it = 100;//自動裝箱 new Integer(100)
        
        int i = it;//自動拆箱  100
        
        int result = it + 200;//自動拆箱
        
        
        
        

    }

}
自動裝箱拆箱
相關文章
相關標籤/搜索