String 对象的创建
为什么通常都是使用字面量创建 String 对象?
- 字面量创建对象的时候,只要常量池创建一个对象
- new 创建对象的时候,常量池由对象,堆中也要有对象。
- 字面量方法要比 new 的方法更省内存
操作符 == 与 equals() 方法在 String 上的区别
- 操作符== 是比较对象的内存地址
- equals 是对 String 是比较的是内容(值)
字面量创建 String 对象
String s1 = "abc";//创建 s1 对象,然后在常量池中添加“abc”对象,返回引用地址给 s1 对象。
String s2 = "abc";//创建 s2 对象,通过 equals() 方法判断常量池中已经拥有值为“abc”的对象,直接返回相同的引用地址
<