Java:String类以及“==”和equals注意点
字符串常量池
1. ==比较基本数据类型时比较的是内容;equals()方法(Object超类的)比较的是字符串的内容
- 总结:
- “==”若比较引用数据类型比较的是两个对象的内存地址;若比较基本数据类型时比较内容。
- equal是继承Object类后对equals重写的一种方法。
//Objects工具类的equals方法
public static boolean equals(Object a, Object b) { // 比较两个对象是否相等
return (a == b) || (a != null && a.equals(b));
}
//从源码可以看出,Objects工具类的equals方法既可以比较两个对象是否一样;又可以比较对象内容是否一样。(两者有一个即为true)
2. String类常用方法:
3. 字符串是常量,不可变,用concat拼接时,原来的额字符串不会发生变化,只是会返回一个新的字符串。
4. 对原串重新赋值时情况:
PS:参考来自黑马教学,侵删。