欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java中API下的String,StringBuffer,StringBuilder的区别及用法

程序员文章站 2024-01-20 16:09:46
String,StringBuffer,StringBuilder的区别及用法目录String,StringBuffer,StringBuilder的异同String的常用方法StringBuffer,StringBuilder的常用方法后记目录String,StringBuffer,StringBuilder的异同String :不可变的字符序列,底层使用char[ ]存储;StringBuffer :可变的字符序列,线程是安全的,但效率低,底层使用char[ ]存储;StringBuffer...



目录

1.String,StringBuffer,StringBuilder的异同

  1. String :不可变的字符序列,底层使用char[ ]存储;
  2. StringBuffer :可变的字符序列,线程是安全的,但效率低,底层使用char[ ]存储;
  3. StringBuffer :可变的字符序列,jdk5.0新增的,线程不安全,但效率高,一般在单线程或者不考虑线程安全的情况下的使用,使用率最高,底层也是使用char[ ]存储;

2.String的常用方法

String可调用的方法有很多,具体可查jdk api 字典,这里挑选常见的说明:

  1. concat(“xyz”) :在字符串末尾拼接"xyz"字符串;
  2. endswitch(“cd”) :判断字符串是否是以"cd"结尾,boolean类型;
  3. startswitch(“ab”) :判断字符串是否是以"ab"开头,boolean类型;
  4. equals(Object obj) :判断当前字符串与obj字符串是否相同,此方法需要重写,否则比较的是地址值;
  5. hashcode( ) : 计算哈希码值;
  6. indexof(“a”) :找出字符a在字符串中第一次出现的锁引位置(就是类似数组的下标值);
  7. subtring(2) :从[2,末尾]区间截取字符串;
  8. subtring(2,8) :从[2,8)区间截取字符串,遵循左闭右开的原则;
  9. valueof(10) :把整数10转换成字符串形式(把括号中的内容转换成S引用的类型,也可用于包装类的"装箱"操作);
  10. tocharArray( ) : 把字符串数据存入数组;
  11. getBytes( ) : 把字符串转成ASCII表对应的整数并存入byte[]数组;
  12. tocharArray( ) : 把字符串数据存入数组;

3.StringBuffer,StringBuilder的常用方法

StringBuffer,StringBuilder的用法基本一致,这里以StringBuffer举例说明:

  1. StringBuffer append(xxx) :重载了许多append()方法,用于进行字符串拼接;
  2. StringBuffer delete(int start, int end) :删除指定位置的内容;
  3. StringBuffer replace(int start , int end, String str ) :把[start,end)位置字符串替换为str;
  4. StringBuffer insert(int offset, xxx) :在指定位置插入xxx;
  5. StringBuffer reverse( ) :把当前字符序列逆转;

总结 :以上是常用方法,我们日常所需要记住的主要有:
:append(xxx)
:delete(int start, int end)
:StringBuffer delete(int start, int end) / set charAt(int n, char ch) 注:该方法是修改一次字符
:charAt(int n)
:insert(int offset, xxx)
长度 :Length()
遍历 :for()+charAt() / toString

4.后记

1. 运行效率上面:StringBuilder > StringBuffer > String;
2. String一般用于对少量字符串的修改操作,而StringBuilder和StringBuffer(两者底层开辟了一个长度为原数组.length()+16的数组,只有当空间不够用时才进行扩容,扩容方法是:新数组大小变成原来的两倍+2,一直往复进行),一般用于大量字符串的拼接,在此基础上在进行增删改查的方法调用。

本文地址:https://blog.csdn.net/m0_49611292/article/details/108040697

相关标签: java api