==和equals()都可用于比较两个操作数是否相等,它们有什么区别吗?

= =是一个关系运算符,用于判断两个简单变量的值是否相等,或两个引用变量的引用地址是否相等。
equals()是一个方法,用于判断引用变量引用地址指向的存储内容是否相等。
equals()是Object类中定义的一个方法,由于其他引用类型默认继承Object,因此该方法在其他引用类型中都可以使用。代码如下:
int a = 10;
int b = 10;
//比较简单变量a和b的值是否相等
System.out.println(a= =b);
String c = new String(“tom”);
String d = new String(“tom”);
//比较引用变量c和d的引用地址是否相等
System.out.println(c = = d);
//比较引用变量c和d的内容是否相等
System.out.println(c.equals(d));
上述代码执行结果如下:
true
false
true
注意:Object类中定义的equals()方法是直接使用==操作符实现的,因此,在自定义类型时建议重写 equals()方法,实现自定义的比较规则。例如 String、Integer等类都已经对 equals()方法进行过重写

猜你喜欢

转载自blog.csdn.net/weixin_42470710/article/details/85879904
今日推荐