Java:关于String/StringBuilder/StringBuffer那些事儿

概述  

  • String是Java中基础且重要的类,并且String也是Immutable类的典型实现,被声明为final class,除了hash这个属性其它属性都声明为final,因为它的不可变性,所以例如拼接字符串时候会产生很多无用的中间对象,如果频繁的进行这样的操作对性能有所影响。
  • StringBuffer就是为了解决大量拼接字符串时产生很多中间对象问题而提供的一个类,提供append和add方法,可以将字符串添加到已有序列的末尾或指定位置,它的本质是一个线程安全的可修改的字符序列,把所有修改数据的方法都加上synchronized。但是保证了线程安全是需要性能的代价的。
  • StringBuilder是JDK1.5发布的,它和StringBuffer本质上没什么区别,就是去掉了保证线程安全的那部分(不保证线程安全),减少了开销(提高了效率)。

String类

20种常用方法

和长度有关的方法

返回类型 方法名 作用
intlength() 得到一个字符串的字符个数(一个中文是一个字符,一个英文是一个字符,一个转义字符是一个字符)

和数组有关的方法

返回类型 方法名 作用
byte[]  getBytes()  将一个字符串转换成字节数组
char[]  toCharArray()将一个字符串转换成字符数组
String[]split(String) 将一个字符串按照指定内容劈

和判断有关的方法

返回类型 方法名 作用
booleanequals(String)

 判断两个字符串的内容是否一模一样

booleanequalsIgnoreCase(String)忽略大小写的比较两个字符串的内容是否一模一样
booleancontains(String)判断一个字符串里面是否包含指定的内容
booleanstartsWith(String)判断一个字符串是否以指定的内容开头
booleanendsWith(String)判断一个字符串是否以指定的内容结尾

和改变内容有关的方法
(和改变内容有关的方法,都不会直接操作原本的字符串,而是将符合条件的字符串返回给我们,所以注意接收)

返回类型 方法名 作用
String toUpperCase()

将一个字符串全部转换成大写

String    toLowerCase()将一个字符串全部转换成小写
Stringreplace(String,String)将某个内容全部替换成指定内容
StringreplaceAll(String,String) 将某个内容全部替换成指定内容,支持正则
StringrepalceFirst(String,String)将第一次出现的某个内容替换成指定的内容
Stringsubstring(int)从指定下标开始一直截取到字符串的最后
Stringsubstring(int,int)从下标x截取到下标y-1对应的元素
Stringtrim()去除一个字符串的前后空格

和位置有关的方法

返回类型 方法名 作用
charcharAt(int)得到指定下标位置对应的字符
int  indexOf(String)得到指定内容第一次出现的下标
intlastIndexOf(String)得到指定内容最后一次出现的下标

StringBuilder类

常用方法

Stringbuilder采用了方法重载使得其可以处理各种数据类型

append()

insert()

delete()

replace()

charAt(index)

indexOf(char)

反转

reverse()

StringBuffer类

与StringBuilder类的操作基本一致

不过需要注意的是 StringBuffer 是线程安全的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值