看代码1:
String s1 = "hello";
String s2 = "hello";
结果
s1 == s2为true,
解释
s1 与 s2 引用同一个 String 对象 。
看代码2:
String s1 = "hello";
String s2 = new String("hello");
结果
s1 equals s2为true,解释
s1 s2分别引用了两个"hello"String对象,new 操作符,表示新的Sting对象被创建在内存中
==:等于
如果进行被比较的两个操作数都是数值类型,也就是8种基本数据变量之一,即使他们的数据类型不一样,
只要值相同,就返回true,如97==‘a’返回true,5.0=5,返回true。
如果操作的数是引用类型,或者也叫复核数据类型,那么只有当两个引用变量引用相同的类的实例的时候才可以比较,
而且两个引用必须指向同一个对象才会返回true。
|