Java String类、StringBuilder类、StringBuffer类

本文深入解析Java中String、StringBuilder和StringBuffer的特性与区别,包括构造函数、常用方法及应用场景,帮助理解字符串处理的最佳实践。

 

String类是不可变类,创建了一个String对象后,该String对象中的字符序列不能被改变。

StringBuilder是字符序列可变的字符串类,提供了一系列修改字符串的方法。

StringBuffer和StringBuilder相似,但StringBuffer是线程安全的,StringBuilder效率更高。

 

 

String类的构造函数:

String()    创建一个包含0个字符序列的String对象,并不是null

String(String str);   通过字符串直接量创建String对象

String(StringBuffer sb)    通过StringBuilder对象来创建String对象

String(StringBuilder sb)

String(byte[] bytes,.......)   通过byte[]创建

String(char[] chars)    通过char数组创建String对象

String(byte[]  bytes,Charset charset)   用指定的字符集将一个byte数组解码成一个String对象

String(byte[]  bytes,String charset)     同上

 

 

String类常用的方法:

int length()   返回字符串长度

char  charAt(int index)    获取指定位置的字符

String  concat(String str)    连接2个字符串,和 + 作用相同。原串不变。

boolean  equals(Object  obj)

boolean  equalsIgnoreCase(Object obj)   同上,只是忽略大小写

boolean satrtsWith(String str)

boolean  endsWith(String str)

int  indexOf(char ch)   返回该字符第一次出现的位置

int indexOf(String str)

int lastIndexOf(char  ch)   最后一次出现的位置

int  lastIndexOf(String str)

String substring(int start,int end)   提取某个区间的字符串

String replace(....)    替换,返回的是副本,原串不变

byte[]  getBytes()   转换为byte数组

char[]  toCharArray()   转换为char数组

String  toUpperCase()

String toLowerCase()

static String valueOf(Xxx   x)   将基本数据类型转换为String,静态方法

 

 

 

由于String是不可变的,所以操作过程中会产生很多临时变量。使用StringBuffer或StringBuilder则可以避免此问题。

String是不可变类,提供的方法都不会改变String本身。

往往提供了多个重载方法。

两个区间,往往是:[start,end)     包含前者,不包含后者。

替换操作,往往是(old,new),老的在前,新的在后。

 

 

StringBuffer、StringBuilder提供了多个重载的构造函数,常用的:

StringXxx()

StringXxx(String str)     通过字符串直接量

 

 

StringBuilder、StringBuffer常用方法;

StringXxx   sb=.......;

sb.append(String  str);

sb.insert(int  index,String str);

sb.replace(.....);

sb.reverse()     反序

 

StringBuffer、StringBuilder提供的方法会实际修改字符串。

 

转载于:https://www.cnblogs.com/chy18883701161/p/10854134.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值