[java] 字符串类
String类
- 创建之后不会再做修改和变动,即immutable
StringBuffer, StringBuilder类
- 创建之后允许再做更改和变化
- 其中StringBuilder是JDK1.5增加的,它是非线程安全的(效率更高)
字符串常量
- 除了immutable特点外,还要注意String常量的内部化(interned)问题
- 即同样的字符串常量是合同的(是指向同一个引用的)
- 以保证
"abc" == "abc"
- 但是
"abc" != new String("abc")
“==” 和 equals()的区别
- ”==” 是判断引用是否相等, equals()是判断内容是否相等, 比较字符串用equals()
字符串的分割
- java.util.StringToken类提供了对字符串进行分割的功能
- 构造`StringToken(String str, String delim);
- 该类的重要方法有
public int countTokens();//分割串的个数
public boolean hasMoreTokens();//是否还有分割串
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; while(st.hasMoreTokens()){ sum += Double.parseDouble(st.nextToken()); } } }
Written on December 8, 2022