java常用APIString、StringBuilder、StringBuffer

2023年 10月 7日 79.7k 0

java常用API-String、StringBuilder、StringBuffer

StringBuilder

StringBuilder代表可变字符串对象,相当于是一个容器,它里面装的字符串是可以改变的,就是用来操作字符串的

好处: StringBuilder比String更适合做字符串的修改操作,效率会更高,代码也会更简洁。

构造方法:

构造器 说明
public StringBuilder() 创建一个空白的可变的字符串对象,不包含任何内容
public StringBuilder(String str) 创建一个指定字符串内容的可变字符串对象

常用方法:

append:在字符串末尾添加内容(可以是任意类型) insert:在指定位置插入内容 delete:删除指定位置的字符 deleteCharAt:删除指定位置的字符 replace:替换指定位置的字符 substring:截取子串 indexOf:查找指定字符串位置 lastIndexOf:查找最后一次出现的指定字符串位置 length:获取当前字符串长度 setLength:设置字符串长度

toString : 可以把StringBuilder转换为String

reverse:反转字符串

常用方法的基本使用:

public class StringDemo {
    public static void main(String[] args) {
        //StringBuilder
        StringBuilder strbu=new StringBuilder("你好");
        System.out.println(strbu);
        //增
        strbu.append("java修炼手册").append(19).append(90);
        System.out.println(strbu);  //你好java修炼手册1990
        System.out.println(strbu.reverse()); //反转字符串
        //0991册手炼修avaj好你
​
        //删除
        strbu.delete(1,2); // 删除序号1-2的字符串,但是不包括2
        System.out.println(strbu); //091册手炼修avaj好你
​
        // 改 replace
        strbu.replace(0,1,"2020");
        System.out.println(strbu); //202091册手炼修avaj好你
​
        //获取长度
        System.out.println(strbu.length());//16
​
        //转换为一个字符串
        String s = strbu.toString();
        System.out.println(s);//202091册手炼修avaj好你
​
        //插入insert
        strbu.insert(0,88); //插入位置,插入的数据
        System.out.println(strbu);//88202091册手炼修avaj好你
​
        //查找indexOf
        System.out.println(strbu.indexOf("手")); //9
    }
}

为啥要用StringBuilder?

对于字符串相关的操作,如频繁的拼接、修改等,建议用StringBuidler,效率更高!

注意: 如果操作字符串较少,或者不需要操作,以及定义字符串变量,还是建议用String。

  StringBuilder sb=new StringBuilder();
        for (int i = 0; i < 100000; i++) { //运行速度比以往的String的速度快很多倍
            sb.append(i);
        }
        System.out.println(sb);

StringBuffer

注意:

  • StringBuffer的用法与StringBuilder是一模一样的
  • 但stringBuilder是线程不安全的,StringBuffer是线程安全的

案例:返回任意整型数组的内容

public class StringDemo {
   public static void main(String[] args) {  
       //返回任意整形数组的内容
       int[] arr={23,54,675,7,5,2,4,6,432};
       String arrayData = getArrayData(arr);
       System.out.println(arrayData);//[23,54,675,7,5,2,4,6,432]
  }

public static String getArrayData(int[] arr){
   if(arr==null){
       return null;
  }
   StringBuffer stringBuffer=new StringBuffer();
   stringBuffer.append('[');
   for (int i = 0; i

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论