**面试题:
- String s1 = “hello” ;
- String s2 = new String(“hello”) ;
- 在内存中分别创建了几个对象?
- 第一个创建了一个对象,直接在常量池创建,开辟常量池空间
- 第二个:创建了两个对象,一个堆内存中开辟空间,一个指向常量池(不推荐)**
public class StringDemo2 {
public static void main(String[] args) {
String s1 = "hello" ;
String s2 = new String("hello") ;
System.out.println(s1 == s2);
System.out.println(s1.equals(s2)); //只管内容相同
}
}
String类型重写了Object的equals方法
==:运算符,用于比较基础类型变量和引用类型变量。
对于基础类型变量,比较的变量保存的值是否相同,类型不一定要相同。