JavaSE进阶
5、String的拼接
结论:
常量与常量的拼接结果在常量池
只要其中有一个是变量,结果就在堆中
如果拼接的结果调用intern()方法,就在常量池中
6、String对象的比较
==比较的是地址。
equals比较的是字符串的内容,重写了Object的equals方法。
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; } |