91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

equals()函數與“==”的作用有什么不同

發布時間:2020-07-20 10:25:53 來源:億速云 閱讀:97 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關equals()函數與“==”的作用有什么不同,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

首先,來看看它們的區別:

2、覆蓋equals()方法的情況

修改上面的EqualsTest,覆蓋equals()方法:

public class EqualsTest {
    public static void main(String[] args) {
        // 新建2個相同內容的Person對象,
        // 再用equals比較它們是否相等
        User user1 = new User("James", 100);
        User user2 = new User("James", 100);
        System.out.printf("比較結果:" + user1.equals(user2));
    }
 
    /**
     * @desc User類。
     */
    static class User {
        int age;
        String name;
 
        public User(String name, int age) {
            this.name = name;
            this.age = age;
        }
 
        public String toString() {
            return name + " - " + age;
        }
 
        @Override
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;
            if (getClass() != obj.getClass())
                return false;
            User other = (User) obj;
            if (age != other.age)
                return false;
            if (name == null) {
                if (other.name != null)
                    return false;
            } else if (!name.equals(other.name))
                return false;
            return true;
        }
    }
}

運行結果:

true

結果分析:我們在EqualsTest.java 中重寫了User的equals()函數:當兩個User對象的 name 和 age 都相等,則返回true。因此,運行結果返回true。

== 的作用

“==”:它的作用是判斷兩個對象的地址是不是相等。即判斷引用對象是不是指向的堆中的同一個對象,我們知道,凡是new出來的對象都在堆中。而對象的引用都存放在棧中,具體來講就是放在棧幀中,我們來看下面一段代碼:

public static void main(String[] args) {
        User user1 = new User("James", 100);
        User user2 = new User("James", 100);
        System.out.println("user1.equals(user2):" + user1.equals(user2));
        System.out.println("user1==user2:" + (user1==user2));
}

輸出結果:

user1.equals(user2):true
user1==user2:false

指向的是堆中兩塊不同的區域,所以用 "==" 比較時返回的是false。

關于equals()函數與“==”的作用有什么不同就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜城市| 丰宁| 长顺县| 鸡泽县| 财经| 邻水| 胶南市| 文水县| 张掖市| 平乐县| 昆山市| 汉沽区| 禹州市| 江安县| 根河市| 平湖市| 类乌齐县| 伊金霍洛旗| 宜兰县| 蒙阴县| 历史| 新巴尔虎左旗| 开远市| 大名县| 广灵县| 兴化市| 旌德县| 南乐县| 巴林左旗| 聂拉木县| 和平县| 原阳县| 湾仔区| 县级市| 阳西县| 云龙县| 黄浦区| 洛宁县| 鲜城| 黑山县| 漳浦县|