java.lang.String
1. String类是【final】
public final class String
2. 内部为char的value数组
private final char value[];
3. 很多方法返回的是new String(***);
4. hashCode()
公式s[0]*31^(n-1) + s[1]*31^(n-2) + … + s[n-1]
for (int i = 0; i < value.length; i++) {
h = 31 * h + val[i];
}
hashcode:
"a" 97
"ba" 98*31+97
"bba" 98*31^2+98*31+97
...
hashcode相同特例【如:字符串"gdejicbegh"与字符串"hgebcijedg"】
还有看 How to generate strings that share the same hashcode in Java? - Stack Overflow
5. 常用方法
length()
equals()
charAt()
indexOf()
subsring()
trim()
valueOf()