String和StringBuffer常用的方法

发布时间 2023-04-06 17:28:23作者: 鱼坚强

Strin类

String有许多操作字符串的方法

创建字符串的方法

  1. 类似于基本数值类型的创建方法

    String s1 = "hello";
    
  2. 无参构造方法

​ 创建一个空字符串

String s2 = new String();
  1. 有参构造方法

    • 利用字符串类型调用构造方法

      String s3 = new String("你好");
      
    • 利用字符数组类型调用构造方法

      char[] arr1 = {'你','好'};
      String s4 = new String(arr1);
      
    • 利用字节数组来调用构造方法

      byte[] arr2 = {99,98,97};
      String s5 = new String(arr2);
      

String类的成员方法

1. 判断型 6个

public static void method1(){
    String str1 = new String("Hello World"); //判断两个字符串是否相同,区分大小写
    boolean a = str1.equals("Hello World");
    System.out.println(a);
    a = str1.equalsIgnoreCase("hello world");//判断两个字符串是否相同,不区分大小写
    System.out.println(a);
    a = str1.contains("He");//判断字符串是否包含另一个字符串,区分大小写
    System.out.println(a);
    a = str1.startsWith("H");//判断字符串是否以大写的H开头
    System.out.println(a);
    a = str1.endsWith("d"); //判断字符串是否以小写的d结尾
    System.out.println(a);
    a = str1.isEmpty();  //判断字符串是否为空字符串
    System.out.println(a);
}

2. 输出型 7个

public static void method2(){
    String str2 = "HelloWorldJava";
    int b = str2.length();//输出字符串的长度
    System.out.println(b);
    b = str2.indexOf("o");//查找第一次出现字符串的索引
    System.out.println(b);
    b = str2.lastIndexOf("dJ");//查找最后一次出现字符串的索引
    System.out.println(b);
    char c = str2.charAt(4); //查找索引值为4下表的字符
    System.out.println(c);
    System.out.println(str2.substring(4));//截取字符串4到结尾的字符串
    System.out.println(str2.substring(4,10));//截取字符串索引4到10的字符串,包括4,不包括10
    String newStr = str2.concat("my favorite");//拼接字符串
    System.out.println(newStr);
    System.out.println(str2);
}

3. 转换型 5个

public void method3(){
    String s = "Hello World";
    char[]  arr = s.toCharArray();//将字符串类型转化为字符数组
    for (int i = 0; i < arr.length; i++) {
        System.out.println(arr[i]);
    }
    byte[]  arr2 = s.getBytes(); //将字符串类型转换为字节数组类型
    for (int i =0 ; i < arr.length;i++) {
        System.out.println(arr2[i]);
    }
    String s1 = s.toUpperCase(); //将字符串转化为大写
    System.out.println(s1);
    String s2 = s.toLowerCase(); //将字符串转化为小写
    System.out.println(s2);
    String s3 = String.valueOf(545);//静态方法可以直接调用,将数字类型转化为字符串类型
    System.out.println(s3.length());
}

4. 其他型 2个 截取字符串和去除两边空字符

public static void method4(){
    String s = "hello world Java";
    String[] s2 = s.split("o ");//按照所规定的字符串将字符串分为几个字符串数组
    for (int i = 0; i <s2.length; i++) {
        System.out.println(s2[i]);
    }
    s = "  He llo ";
    String s3 = s.trim();//去除两边的空字符串
    System.out.println(s3);
}

STringBuffer类

构造方法

    StringBuffer sb = new StringBuffer();//调用无参构造
    System.out.println(sb);
    StringBuffer sb1 = new StringBuffer("Hello");//调用有参构造
    System.out.println(sb1);

成员方法

1.添加到StringBuffer对象末尾
2.在StringBuffer对象中的位置插入字符串
3.移除指定位置的字符
4.删除指定位置的字符串
5.将指定范围的字符或字符串进行替换
6.修改指定位置的字符
7.返回缓冲区中的StringBuffer对象
8.对象用其反转形式取代

sb1.append("World");//在后面添加字符串
System.out.println(sb1);
sb1.insert(10,"Java");//在指定的索引位置插入字符串
System.out.println(sb1);
sb1.delete(5,10); //删除指定位置的字符串
System.out.println(sb1);
sb1.deleteCharAt(4);//移除指定位置的字符
System.out.println(sb1);
sb1.replace(4,8,"oWorld");//替换指定位置的字符串
System.out.println(sb1);
sb1.setCharAt(9,'D'); //修改指定位置的字符
System.out.println(sb1);
String str1 = sb1.toString();//将StringBuffer类型的数据转化为String的数据
System.out.println(str1);
sb1.reverse();//反转
System.out.println(sb1);