目录
一、String
1、特点:不可变
2、内部实现原理:内部声明了一个char类型的数组,存储字符串内容。
3、重要方法
1)hashCode()
public int hashCode() {
int h = hash;
if (h == 0 && value.length > 0) {
char val[] = value;
for (int i = 0; i < value.length; i++) {
h = 31 * h + val[i];
}
hash = h;
}
return h;
}
String的hash值依赖于每个字符的ASCII码。
二、StringBuffer与StringBuilder
1、相同点:1)都是可变字符串类型;2)内部都是由char数组保存字符串内容。
2.、区别:StringBuffer是线程安全的,每个public方法都声明为同步方法,StringBuilder非线程安全。