第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

五分三十七秒那句理解不了

老師說:判斷兩個引用的值是否相等,比較的也是地址。

但是看如下代碼:

public class A{

????private int num=1;

????private int num2=1;

?????public static void main (String[]args){

????????A a=new A();

????????A a2=new A();

????if(a.num==a2.num2)

????????System.out.println("兩個值相同");

????else?

????????System.out.println("兩個值不同");

}

}


為什么我這輸出的是:兩個值相同。

請各路大神解一解


正在回答

3 回答

?if(a.num==a2.num2)應該改成

?if(a==a2)

a.屬性就是值了。而你a雖然給了值,a==a2不是比較值,還是地址

1 回復 有任何疑惑可以回復我~
#1

慕仙6066462 提問者

我大概知道了,老師說的引用的值,這里面的“引用”指的是a和a2,我一直以為這兩個叫做對象,今天看書才知道這也叫做對象的引用。這樣的話,比較引用的值就是比較他們的地址了。
2019-10-09 回復 有任何疑惑可以回復我~

復雜點的說的話

你在創(chuàng)建一個字符串屬性或者變量是會先在內存中的常量池中去尋找是否有你要創(chuàng)建的字符串(是否查找也和字符串創(chuàng)建方式有關)如果有就不會再創(chuàng)建了,所以你使用equals 比較字符串時 只要比較地址就可以知道是否值是相等的了??

1 回復 有任何疑惑可以回復我~

== 比較的時對象的值

equals比較的是對象的地址

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531097    人
  • 解答問題       6276    個

課程升級!以終為始告別枯燥,在開發(fā)和重構中體會Java面向對象編程的奧妙

進入課程

五分三十七秒那句理解不了

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號