字符串可以分为两大类
1.String类
• 创建之后不会再做修改和变动,即 immutable
2.StringBuffer、StringBuilder类
• 创建之后允许再做更改和变化
• 其中 StringBuilder是JDK1.5增加的,它是非线程安全的,但是效率较高
特别注意:
在循环中使用String的+=可能会带来效率问题
String类
String 类对象保存不可修改(immutable)的Unicode字符序列
- String类的下述方法能创建并返回一个新的String对象实例: concat, replace,
replaceAll, substring, toLowerCase, toUpperCase, trim,toString. - 查找: endsWith, startsWith, indexOf,,lastIndexOf.
- 比较: equals, equalsIgnoreCase,
- 字符及长度: charAt ,length.
-
format函数
• %1 标识 宽度及精度 转换方式 -
String常量的内部化(interned)问题
• 即同样的字符串常量是合并的(是指向同一个引用的)
“abc”==“abc”
但是 “abc” != new String(“abc”)
StringBuffer,StringBuilder类
- StringBuffer类对象保存可修改的Unicode字符序列
- StringBuilder类似,它效率更高,不考虑线程安全性
• 构造方法
StringBuffer()
StringBuffer(int capacity)
StringBuffer(String initialString)
• 实现修改操作的方法:
append, insert, reverse, setCharAt, setLength.
StringTokenizer类
java.util.StringTokenizer类提供了对字符串进行分割的功能。
• 构造
StringTokenizer(String str, String delim);
• 该类的重要方法有:
public int countTokens();// 分割串的个数
public boolean hasMoreTokens();// 是否还有分割串
public String nextToken();// 得到下一分割串
• 另String类的 matches, replaceAll, split可以使用正则表达式