最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何重寫object類的equals方法詳解

 更新時間:2020年12月20日 16:06:28   作者:咯咯笑的大老虎  
這篇文章主要給大家介紹了關于Java如何重寫object類的equals方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1.Object類的equals()方法:

比較兩個對象是否是同一個對象,equals() 方法比較兩個對象,是判斷兩個對象引用指向的是同一個對象,即比較 2 個對象的內(nèi)存地址是否相等。是則返回true

Object類是所有類的父類,它的equals方法自然會被所有類繼承,有一個子 類String對equals方法進行了覆蓋(重寫),使其具有了新功能

2.Object類的equals()方法與==沒區(qū)別

Java.lang.String重寫了equals()方法,把equals()方法的判斷變?yōu)榱伺袛嗥渲?/p>

當有特殊需求,如認為屬性相同即為同一對象時,需要重寫equals()

在這里插入圖片描述

總結:

1.基本數(shù)據(jù)類型數(shù)據(jù)值只能用

2.對于引用數(shù)據(jù)類型,和Object的equals方法是一樣的。(查看源碼)

由于String類對父類Object的equals方法的重寫,導致equals與= =唯一的區(qū)別在于比較對象

例題 :

重寫比較規(guī)則,判斷兩名學員(Student)是否為同一對象

Student相關屬性

Id(學號)、name(姓名)、age(年齡)

如果兩名學員的學號以及姓名相同,則為同一對象

在這里插入圖片描述

1 對 Student類進行封裝 然后在里面重寫equals方法

方法代碼:

public class Student {
 private int id;
 private String name;
 private int age;

 @Override //重寫equals方法
 public boolean equals(Object obj) {
 if(obj instanceof Student){
  Student s1=(Student)obj;
  return this.id==s1.id&&this.name==s1.name&&this.age==s1.age;
 }else {
  System.out.println("錯誤");
  return false;
 }
 }

 public Student(int id, String name, int age) {
 this.id = id;
 this.name = name;
 this.age = age;
 }

 public int getId() {
 return id;
 }

 public void setId(int id) {
 this.id = id;
 }

 public String getName() {
 return name;
 }

 public void setName(String name) {
 this.name = name;
 }

 public int getAge() {
 return age;
 }

 public void setAge(int age) {
 this.age = age;
 }
}

測試類進行測試

 public static void main(String[] args) {
 Student s1 = new Student(1,"張三",18);
 Student s2 = new Student(1,"張三",18);

 Student s3 = new Student(1,"張三",18);
 Student s4 = new Student(1,"張三",20);

 System.out.println(s1.equals(s2));

 System.out.println(s3.equals(s4));



 }

以上程序執(zhí)行結果

在這里插入圖片描述

 

到此這篇關于Java如何重寫object類的equals方法的文章就介紹到這了,更多相關Java重寫object類的equals方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解Java如何向http/https接口發(fā)出請求

    詳解Java如何向http/https接口發(fā)出請求

    這篇文章主要為大家詳細介紹了Java如何實現(xiàn)向http/https接口發(fā)出請求,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-01-01
  • maven項目中<scope>provided</scope>的作用及說明

    maven項目中<scope>provided</scope>的作用及說明

    這篇文章主要介紹了maven項目中<scope>provided</scope>的作用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Spring?Boot項目中解決跨域問題的四種方式總結

    Spring?Boot項目中解決跨域問題的四種方式總結

    這篇文章主要介紹了瀏覽器同源策略限制導致的跨域問題,并詳細記錄了常見的跨域解決方案,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-02-02
  • XXL-Job端口額外占用問題的解決方法小結

    XXL-Job端口額外占用問題的解決方法小結

    最近博主在Spring整合XXL-JOB到項目時發(fā)現(xiàn)了個問題,注冊執(zhí)行器需要額外占用端口,也就是我們每啟動一個程序,除了程序本身的API端口外,還需要額外開放一個執(zhí)行器端口,所以本文給大家分享了XXL-Job端口額外占用問題的解決方法小結,需要的朋友可以參考下
    2024-05-05
  • java仿QQ微信聊天室功能的實現(xiàn)

    java仿QQ微信聊天室功能的實現(xiàn)

    這篇文章主要介紹了java仿QQ微信聊天室的實現(xiàn)代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,,需要的朋友可以參考下
    2021-04-04
  • Java8中的Stream?流實踐操作

    Java8中的Stream?流實踐操作

    這篇文章主要介紹了Java8中的Stream?流實踐操作,Stream?是?java8?中處理集合的抽象概念,可以執(zhí)行非常復雜的查詢、過濾和映射數(shù)據(jù)等操作,下文更多相關資料介紹,需要的朋友可以參考一下
    2022-05-05
  • Java lock同步鎖使用實例解析

    Java lock同步鎖使用實例解析

    這篇文章主要介紹了Java lock同步鎖使用實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Spring boot+mybatis+thymeleaf 實現(xiàn)登錄注冊增刪改查功能的示例代碼

    Spring boot+mybatis+thymeleaf 實現(xiàn)登錄注冊增刪改查功能的示例代碼

    這篇文章主要介紹了Spring boot+mybatis+thymeleaf 實現(xiàn)登錄注冊增刪改查功能的示例代碼,本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Spring5中的WebClient使用方法詳解

    Spring5中的WebClient使用方法詳解

    這篇文章主要給大家介紹了關于Spring5中WebClient使用方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring5具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11
  • Java面向對象之包裝類的用途與實際使用

    Java面向對象之包裝類的用途與實際使用

    所謂包裝類,就是能夠直接將簡單類型的變量表示為一個類,在執(zhí)行變量類型的相互轉換時,我們會大量使用這些包裝類,本文我們來深入探索一下Java包裝類的相關內(nèi)容,需要的朋友可以參考下
    2022-03-03

最新評論

吉林省| 榆林市| 九龙县| 尼勒克县| 青河县| 嘉祥县| 女性| 永靖县| 儋州市| 调兵山市| 大埔区| 内丘县| 武义县| 东海县| 惠东县| 梁山县| 瑞安市| 芮城县| 荔波县| 奉节县| 乌苏市| 盱眙县| 绥中县| 宁陕县| 伊宁县| 黔南| 彩票| 宁阳县| 山东| 突泉县| 岢岚县| 洛隆县| 习水县| 蕲春县| 阿拉尔市| 巴林右旗| 余姚市| 婺源县| 贺州市| 兴海县| 湖口县|