1. 程式人生 > >Object類、String類、Arrays類、StringBuffer類、StringBuilder的總結2

Object類、String類、Arrays類、StringBuffer類、StringBuilder的總結2

補充上一篇文章末尾String類中的一個方法

public String substring(int beginIndex, int endIndex)

引數:起始位置,與結束位置 int型別

返回值:String型別

public class Test {
    public static void main(String[] args) {
      String s ="ABCDEFG";
        System.out.println(s.substring(1,3));
    }
}

執行結果:BC

StringBuffer類、StringBuilder類(字元緩衝區)

capacity方法 (public int capacity())

返回值:int型別

public class Test {
    public static void main(String[] args) {
     //通過無參構造建立緩衝區
        StringBuffer sb = new StringBuffer();
        //緩衝區內沒有字元
        System.out.println(sb.capacity());
    }
}

執行結果:16

append方法(public StringBuffer append(Object obj)

引數:任意型別

返回值:StringBuffer緩衝區型別

public class Test {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer();
        //新增字串型別
       sb.append("66");
        //新增int型別
        sb.append(1);
        //新增float型別
        sb.append(1.5f);
        //新增double型別
        sb.append(1.00);
        //新增long型別
        sb.append(5L);
        //新增char型別
        sb.append('a');
        //引用型別
        sb.append(new Student());
        //由於StringBuffer類重寫了toString方法,所以列印的是緩衝區內的字串
        System.out.println(sb.toString());
    }
}

執行結果:6611.51.05aStudent{name='null', age=0}

reserve方法(public StringBuffer reverse()

public class Test {
    public static void main(String[] args) {
      //通過有參構造建立StringBuffer物件
        StringBuffer sb = new StringBuffer("abcdef123456");
        System.out.println(sb.reverse().toString());
    }
}

執行結果 : 654321fedcba

indexOf方法(public int indexOf(String str)) 

引數:String型別

返回值:int型別(未找到返回-1)

public class Test {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("abcd123456");
        System.out.println(sb.indexOf("12"));//從頭開始找,返回該字串頭一個字元在緩衝區中的索引值
    }
}

執行結果:4 

lastIndexOf方法(public int lastIndexOf(String str))

引數:String型別

返回值:int型別(未找到返回-1)

public class Test {
    public static void main(String[] args) {
         StringBuffer sb = new StringBuffer("abcd123456");
        System.out.println(sb.lastIndexOf("6"));//從最後一個開始,找返回該字串第一個元素在緩衝區中的索引值
    }
}

執行結果:9 

緩衝區型別與字串間的相互轉換

 

Arrays類 

1、陣列遍歷

public static String toString(int[] arr),這個地方拿int型別陣列舉栗子

引數:任意基本型別的陣列

返回值:String型別

import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        int[] arr = {55,66,88,77,99,11,33};
        System.out.println(Arrays.toString(arr));
    }
}

輸出結果:[55, 66, 88, 77, 99, 11, 33]

2、陣列排序

public static void sort(int[] arr)

import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        int[] arr = {55,66,88,77,99,11,33};
        Arrays.sort(arr);//陣列排序
        System.out.println(Arrays.toString(arr));
    }
}

執行結果:[11, 33, 55, 66, 77, 88, 99]

3、二分查詢

public static int binarySearch(int[] a, int key)

引數:被查詢的陣列,需要查詢的元素的值

返回值 :該元素在該陣列中的索引值int型別,未找到則返回-1

import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        int[] arr = {55,66,88,77,99,11,33};
        System.out.println(Arrays.binarySearch(arr,1));//查詢1在arr陣列中的索引
    }
}

執行結果: -1