Java中,字符串的创建、修改和操作是通过3个类来完成的:String\StringBuilder\StringBuffer
String
字符串指的是字符序列;Java中并没有内置的字符串类型,而是在标准Java库中包含一个String类,字符串是一种简单而且常用的数据结构。因为使用非常广泛,且字符串操作功能非常丰富,因此String 被定义为final(无需子类)。
基本方法
String类的下述方法能创建并返回一个新的String对象:concat, replace, substring, toLowerCase, toUpperCase, trim,String;
【当连接一个字符串和一个非字符串时,非字符串将转换成字符串】
提供查找功能的有关方法: endsWith, startsWith, indexOf,,lastIndexOf;
提供比较功能的方法: equals, equalsIgnoreCase, compareTo;
【按字母顺序比较两个字符串:如果两个字符串相等,则返回 0; 如果字符串在该值之前,则返回值小于 0; 如果字符串在该值之后,则返回值大于 0】
其它方法: charAt ,length;
StringBuffer类
StringBuffer 用于表示可以动态修改的字符串 。
StringBuffer与StringBuilder功能类似,StringBuffer更强调线程安全,所以效率低,一般用于多线程中;StringBuilder在单线程中的效率高,适合使用在单线程。
基本方法
构造方法
- StringBuffer() ;
- StringBuffer(int capacity) ;
- StringBuffer(String initialString)
实现修改操作的方法:
- append, insert, reverse, delete,setCharAt, setLength
- toString() 转化为字符串
String与StringBuffer的区别
- String是不可变的每次产生字符串时都会产生新的对象会占用大量内存
- StringBuffer是可变的
- 在项目中操作字符串的连接时都建设使用StringBuffer
StringBuffer stringBuffer= new StringBuffer();
stringBuffer.append(“”);
StringBuilder类
StringBuilder也 用于表示可以动态修改的字符串;
StringBuffer与StringBuilder功能类似,StringBuffer更强调线程安全,所以效率低,一般用于多线程中;StringBuilder在单线程中的效率高,适合使用在单线程。