字符串分为两大类
String类,创建之后不会再做修改和变动 immutable
StringBuffer StringBuilder类 创建之后允许在做更改和变化 StringBuilder是非线程安全的
注意再循环中使用String+=可能会带来效率问题
String类对象保存不可修改(immutable)的unicode字符序列
String类的下述方法能创建并返回一个新的String对象实例
cancat replace replaceAll substring toLowerCase toUpperCase trim toString
查找:endWith startsWith indexOf lastIndexOf
比较:equals equalsIgnoreCase.
字符及长度:charAt length
JAVA5增加了format函数 %1$,8.5f %序号$标识 宽度及精度转换放肆
%$中间的数字 是第几个参数的意思 上面的逗号表示千分位
8.5f表示宽度是8 小数点后面占5位数 f表示实数
除了Immutable特点外,还要注意String常量的内部化(interned)
StringBuffer类对象保存可修改的Unicode字符序列
StringBuffer类似,它效率高,不考虑线程安全性
构造方法
StringBuffer()
StringBuffer(int capacity)
StringBuffer(String initialString)
实现修改操作方法:append insert reverse setCharAt setLength
java.util.StringToken类提供了对字符串进行分割的功能
StringTokenizer(String str,String delim);
该类的重要方法
public int countTokens();//分割串的个数
public boolean hasMoreToken();//是否还有分割串
public String nextToken();//得到下一分割串
import java.util.*;
class TestStringTokenizer
{
public static void main(String[] args)
{
StringTokenizer st=new StringTokenizer("this is a Test"," ");//以文本字符分割
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
st=new StringTokenizer("253,197,546",",");
double sum = 0.0;
while(st.hasMoreTokens()) {
sum +=Double.parseDouble(st.nextToken());
}
System.out.println(sum);
}
}
yun
this
is
a
Test 996.0
本文深入探讨了Java中字符串处理的两大类:String与StringBuilder/StringBuffer的区别,包括它们的特性、使用场景及效率问题。详细介绍了String类的不可变性、常用方法如concat、replace、substring等,以及StringBuffer与StringBuilder的动态修改操作。同时,文章还讲解了如何使用StringTokenizer进行字符串分割。
2686

被折叠的 条评论
为什么被折叠?



