String和String Builder类的常用方法及两者的关系

本文详细介绍了Java中的String类和StringBuilder类的常用方法,包括字符串比较、长度获取、字符截取、内容修改等。String类内容不可变,适合基本字符串操作;StringBuilder类内容可变,适用于大量字符串拼接,提供了append、insert、replace等高效操作。理解两者差异对于优化代码性能至关重要。
摘要由CSDN通过智能技术生成

一、String类的常用方法

1、比较字符串的内容

方法名作用
public boolean equals(Object anObject)比较字符串的内容是否相同,严格区分大小写(一般用于用户名和密码)
public boolean equalsIgoreCase(String)忽略大小写比较两个字符串的内容是否相等

2、字符串长度

方法名作用
public int length()返回此字符串的长度

3、得到指定位置

方法名作用
public char charAt(int index)返回指定索引处的 char 值
public int indexof(String)得到指定内容第一次出现的下标
public int lastIndexof(String)得到指定内容最后一次出现的小标返回索引值

4、改变字符串内容

方法名作用
public  String trim()去掉字符串首尾两端的空格
public String toUpperCase()把字符串内容全部转换为大写
public String toLowerCase()把字符串内容全部转换为小写
public String replace(String,String)把字符串内容全部替换为指定内容
public String replaceAll(String,String)把字符串内容全部替换为指定内容(正则表达式)

5、截取字符串内容

方法名作用
public String substring(int)从指定下标一直截取到字符串的末尾
public String substring(int a,int b)从下标a截取到下标b-1对应的内容

6、判断指定内容

方法名作用
public boolean startswitch(String)判断字符串是否以指定内容开头
public boolean endswitch(String)判断字符串是否以指定内容结尾

二、String Builder类的常用方法

方法名作用
public StringBuilder append(任意类型)添加数据,并返回对象本身
public StringBuilder reverse()返回相反的字符序列
public StringBuilder insert(int offest,任意类型)在指定位置插入数据,并返回对象本身
public StringBuilder replace()更改字符串的内容,替换成指定内容
public StringBuilder toString()转换成String类型
public StringBuilder delete()删除指定内容
public StringBuilder length()返回字符串长度

三、两者之间的关系

1、区别

String类内容不可变,String Builder类内容是可变的。

2、原因

String内容不可变的原因:

String类源码是final类,不可以继承,所以String引用的字符串内容是不能被修改,可以理解成一个封装好的数组常量。
String 有两种赋值方法

(1)直接赋值(例如:String str = “Hello”;就是直接赋值实例化了)

(2)使用new调用构造方法完成实例化;


(例如:String str = new String(“Hello”);)String 类对象内容不能改变,但是并不代表引用不能改变。

例如:如果在栈内存中创建一个引用 str, String str = “Hello”; 其中堆内存中会产生一个 Hello 地址 str = str +“World”; 意思是: 在堆内存中创建一个World 地址 然后再开辟一个 Hello World 地址 将str引用的指向改变到 HelloWorld地址 但是原来Hello的内容并没有改变,只是str的引用改变了指向。

StringBuilder内容可变的原因:

与String不同,它不是final的,可以修改。另外,与String不同,字符数组中不一定所有位置都已经被使用,它有一个实例变量 count,表示数组中已经使用的字符个数。 相当于一个内部可变数组,存在初始化StringBuilder对象中字符数组容量为16,存在扩容

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值