/*
* 解释:
相同点:
都可以做比较;返回值均是布尔型boolean
不同点:
* ==是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值
* equals方法是一个方法,只能比较引用数据类型,所有的对象都会继承Object类中的方法,如果没有重写Object类中的equals方法,equals方法和==号比较引用数据类型无区别,比较的是地址值;重写后的equals方法比较的是对象中的属性
*/
例题:
定义两个String类型的变量,str和str1,如下
String str = new String(“hello”);
String str1 = “hello”;
分别用==和equals比较这str和str1是否相等,并打印出来,并加注释说明相等和不相等的原因。
public class Test4 {
public static void main(String[] args) {
String str = new String("hello");
String str1 = "hello";
if(str == str1)
System.out.println("相等");
else
System.out.println("不等于");
if(str.equals(str1))
System.out.println("相等");
else
System.out.println("不等于");
}
}
结果: