国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

淺談java 中equals和==的區別

2024-07-14 08:43:44
字體:
來源:轉載
供稿:網友

本文實例為大家分享了java 中equals和==的區別的具體代碼,供大家參考,具體內容如下

java9舉例代碼:

String str1 = "abc";String str2 = "abc";String str3 = new String("abc");String str4 = new String("abc");

當:  str1 == str2    輸出:true    當:str1.equals(str2); 輸出:true
當:  str1 == str3 輸出:false      當:str1.equals(str3); 輸出:true
當:  str3 == str4 輸出:false      當:str3.equals(str4); 輸出:true

 涉及到的細節:
 - 可以通過String中intern方法,字符串對象在常量池中和它相等的字符串的引用

 str3.intern() == str4.intern()  輸出:true
 str1.intern().equals(str2.intern())  輸出:true
 str1.intern() == str1   輸出:false
- String str = new String("abc");創建了幾個對象?

 首先要看常量池里是否有“abc”這個字符串,如果有(String str = "abc";出現時則有),則創建一個,如果沒有,則創建兩個(一個在常量池,一個在堆中)。

== 和 equals 區別:

對于 == :

作用于基本數據類型的變量,則直接比較其存儲的 “值”是否相等;
作用于引用類型的變量,則比較的是所指向的對象的地址;

對于 equals:

equals方法不能作用于基本數據類型的變量;
如果沒有對Object中equals方法進行重寫,則比較的是引用類型的變量所指向的對象的地址,反之則比較的是內容;

以上所述是小編給大家介紹的java 中equals和==的區別詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 井研县| 汤阴县| 永德县| 吐鲁番市| 温州市| 黔南| 东阳市| 澜沧| 福鼎市| 兴仁县| 交城县| 陈巴尔虎旗| 永康市| 镇赉县| 盐津县| 新沂市| 思南县| 巴马| 资溪县| 威远县| 广灵县| 兴城市| 桃园县| 松桃| 济宁市| 田林县| 鸡泽县| 博白县| 怀安县| 金门县| 沾化县| 盐池县| 霍林郭勒市| 新民市| 陇南市| 胶州市| 临漳县| 汾西县| 剑河县| 陵水| 西宁市|