String类中常用方法

String类

不需要导包

  1. 在Java中只要使用双引号引用起来的任何数据它们都是String的一个对象

    String s = "abc";
    

    String()

    初始化一个新创建的String对象,使其表示一个空字符序列。

    String(String original)

    初始化一个新创建的String对象,使其表示一个与参数列表相同的字符序列:换句话说,心创建的字符串是该参数字符串的副本

    string(char[] value)

    分配一个新的String,使其表示字符数组参数中当前包含的字符序列

    String(char[] value,int offset,int count)

    分配一个新的String,它包含取自字符串数组参数一个字数组的字符。

    String(byte[] bytes)

    通过使用平台的默认字符集解码指定的byte 数组,构造一个新的String

    String(byte[] bytes ,int offset,int length)

    通过使用平台的默认字符集解码指定的byte子数组,构造一个新的String

    案例

    public class StringConstructor {
          
          
        public static void main(String[] args) {
          
          
             // 1. 创建出一个空字符串序列  String()
             String s = new String(); // String s = "";
             System.out.println(s + "---");
    
             // 2. String(字符序列)
            String s1 = new String("hello");// String s = "hello"
            System.out.println(s1);// hello
    
          // 3. String(char[] ch) : 将参数char类型数组中的每一个字符, 拼接成一个字符串结果
            char[] ch = {
          
          'A','a','1','?','家'};
            String s2 = new String(ch);
            System.out.println(s2);// Aa1?家
    
            // 4. String(char[] ch, int beginIndex, int count): 将字符数组的一部分,转换成字符串
            // beginIndex 从指定索引位置开始
            // count 需要转换的字符个数
            String s3 = new String(ch,2,2);
            System.out.println(s3);// 1?
    
           // 5. String(byte[] b) : 将字节数组b, 参考编码表, 转换成字符, 将字符拼接成字符串
            byte[] b = {
          
          65,66,67,68};
            String s4 = new String(b);
            System.out.println(s4);// ABCD
    
            // 6. String(byte[] b, int beginIndex,int count): 将字节数组的一部分,转换成字符串
            String s5 = new String(b,1,2);
            System.out.println(s5);// BC
        }
    

String类中的获取功能

lenght():

lenght():获取到一个字符串中的字符个数(字符串的长度) , 返回值类型int

charAt(int index):

charAt(int index): 将字符串中指定的index索引位置上对应的字符获取到,返回值类型char

subString(int beginIndex):

subString(int beginIndex): 截取出字符串的一部分,从beginIndex索引开始, 到最后的全部字符序列取出来, 返回值结果,新的字符串String

subString(int beginIndex, int endIndex) :

subString(int beginIndex, int endIndex) : 从beginIndex到endIndex-1之间的字符序列截取成一个新的字符串, 返回值结果String
注意 : JDK的方法中, 如果是对于两个索引位置进行操作, 通常包括开始索引, 不包括结束索引

indexOf(String str) :

indexOf(String str) : 获取参数字符串str在方法调用字符串中第一次出现的索引位置
返回值类型int, 如果没有找到参数str存在位置, 返回-1

indexOf(String str, int formIndex):

indexOf(String str, int formIndex):返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索, 返回值类型int, 如果没有找到参数str存在位置, 返回-1

lastIndexOf(String str) :

lastIndexOf(String str) : 获取参数字符串str在方法调用字符串中最后一次出现的索引位置
返回值类型int, 如果没有找到参数str存在位置, 返回-1

代码

public class StringGetMethod {
    
    
    public static void main(String[] args) {
    
    
        // 1. 获取字符串长度 length()
        String s = "hello  ";
        System.out.println(s.length());// 7

        // 2. charAt(int index): 将字符串中指定的index索引位置上对对应的字符获取到
        // 返回值类型char
        // 因为字符串底层存储就是一个字符数组, 字符数组的索引就对应了字符串中索引位置
        char ch = s.charAt(4);
        System.out.println(ch);// 'o'
        System.out.println(s.charAt(5) + "---");// ' '

        // 扩展 : 利用字符串有索引, 范围0---length()-1, 使用charAt方法,将每一个索引位置上
        // 的字符获取到, 形成了字符串的遍历
        for(int index = 0; index < s.length(); index++){
    
    
            char c = s.charAt(index);
            System.out.println(c);
        }

        // 3. subString(int beginIndex) : 截取出字符串的一部分,从beginIndex索引开始, 到最后
        // 的全部字字符串取出来, 返回值结果,新的字符串
        String s1 = "我在家?hello";
        String s1Sub = s1.substring(4);
        System.out.println(s1Sub);// hello

        // 4. subString(int beginIndex, int endIndex) : 从beginIndex到endIndex-1之间的字符序列截取
        // 成一个新的字符串, 返回值结果String
        // 注意 : JDK的方法中, 如果是对于两个索引位置进行操作, 通常包括开始索引, 不包括结束索引
        System.out.println(s1.substring(1,5));// 在家?h

        // 5. indexOf(String str) : 获取参数字符串str在方法调用字符串中第一次出现的索引位置
        // 返回值类型int, 如果没有找到参数str存在位置, 返回-1
        int index1 = s1.indexOf("he");
        System.out.println(index1);// 4

        int index2 = s1.indexOf("le");
        System.out.println(index2);// -1

        // 6. indexOf(String str, int formIndex):
        // 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索
        int index3 = s1.indexOf("l",7);
        System.out.println(index3);// 7

        System.out.println("-----------------");

        // 7. lastIndexOf(String str) : 获取参数字符串str在方法调用字符串中最后一次出现的索引位置
        // 返回值类型int, 如果没有找到参数str存在位置, 返回-1
        System.out.println(s1.lastIndexOf("l"));// 7
        System.out.println(s1.lastIndexOf("哈哈"));// -1
    }

转换功能

  1. byte[] getBytes():将当前字符串,转成字节数组

  2. char[] toCharArray():将当前的字符串,转成字符数组

  3. toUpperCase():将当前的字符串,转成全大写形式

  4. toLowerCase():将当前的字符串,转成全小写形式

  5. static valueOf家族:可以将任意数据类型的数据,转换成字符串

其他功能

1、replace(String oldStr, String newStr):将调用者中的老串替换成新串,返回值为替换后的新字 符串

2、split(String regex): 将字符串按照参数字符串regex规则进行切割, 结果是一个String[]

3、trim():去掉字符串左右两边的空格、制表符

猜你喜欢

转载自blog.csdn.net/weixin_56204788/article/details/115360698