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

猜你喜欢

转载自blog.csdn.net/qq_37291761/article/details/83378318