日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java中對象的等價性比較

Java中不能簡單的用==、!=等比較符對兩個對象進行比較,盡管有時候兩個對象的內(nèi)容完全一樣,但是對象的引用卻是不一樣的!因此,對兩個對象的實際內(nèi)容進行比較時,必須使用所有對象都適用的特殊方法equals()。

創(chuàng)新互聯(lián)是一家集網(wǎng)站設計制作、網(wǎng)站建設、網(wǎng)站頁面設計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)絡公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設服務。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務才是根本,我們始終堅持講誠信,負責任的原則,為您進行細心、貼心、認真的服務,與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。

看下面一個例子:

 
 
 
  1. public class EqualsMethod{  
  2.     public static void main(String[] strs){  
  3.         Integer n1 = new Integer(47);  
  4.         Integer n2 = new Integer(47);  
  5.         //不能直接將兩個引用比較,輸出false  
  6.         System.out.println(n1==n2);  
  7.         //用特殊方法equals(),比較兩個對象的實際內(nèi)容,輸出true  
  8.         System.out.println(n1.equals(n2));  
  9.           
  10.         int n3 = 47;  
  11.         int n4 = 47;  
  12.         //基本類型比較,可直接用比較符即可,輸出true  
  13.         System.out.println(n3==n4);  
  14.     }  

equals()方法不適用于“基本類型”,基本類型直接使用==和!=即可,這點從上例中也可以看出來。

但是,事情并不是這么簡單,對于我們自己創(chuàng)建的類,equals()默認比較兩個對象的引用,如下例:

 
 
 
  1. class Value{  
  2.     int i;  
  3. }  
  4.  
  5. public class EqualsMethod{  
  6.     public static void main(String[] strs){  
  7.         Value n1 = new Value();  
  8.         Value n2 = new Value();  
  9.         n1.i = n2.i = 100;  
  10.         //對于自己創(chuàng)建的類,用equals(),默認比較兩個對象的引用,輸出false  
  11.         System.out.println(n1.equals(n2));  
  12.     }  

所以除非在自己的新類中覆蓋equals()方法,否則不可能表現(xiàn)出我們希望的行為。


網(wǎng)站標題:Java中對象的等價性比較
鏈接地址:http://www.dlmjj.cn/article/cdhsech.html