一、前言
本文正在参加「Java主题月 - Java 刷题打卡」,对于Java相关的刷题知识这个专栏是首次做的,我会从简单到复杂来分享相关知识点,如有不妥之处,还请大佬指正。
本篇文章继续分享关于Java 学习必备基础知识点:equals 和 == 的对比,具体分析如下所示。
二、知识点
1、equals
它的作用是判断两个对象是否相等,但是它有两种使用情况: ①:类没有被覆盖equals()方法,则通过equals()比较该类的两个对象时,等价于通过“==”比较这两个对象。
②:类覆盖了equals()方法,一般都覆盖equals()方法来比较两个对象的内容是否相等;若它们的内容相等,就返回true(即认为这两个对象相同)。
2、==
它的作用就是判断两个对象的地址是否相等。也就是判断两个对象是否为同一个对象。
三、示例
这里举一个关于equals的示例,如下:
public class demo {
public static void main(String[] args) {
String a = new String("ab"); // a 为一个引用
String b = new String("ab"); // b 为另一个引用, 对象的内容一样
String aa = "ab"; // 放在常量池中
String bb = "ab"; // 从常量池中查找
if (aa == bb) // true
System.out.println("aa==bb");
if (a == b) // false,不是同一对象
System.out.println("a==b");
if (a.equals(b)) // true
System.out.println("a++b");
if (42 == 42.0) { // true
System.out.println("true");
}
}
}
四、总结
在Java学习的时候,必备知识点之一就是equals 和 ==的对比,还请学习者在学习的时候一定要加强巩固相关知识。通过本文上述讲解之后,读者应该清楚知道了equals 和 ==的对比。
以上就是本篇文章的知识点,欢迎指正批评。