亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

請解釋為什么要加.equals

if(score>80)

{if(sex.equals("男"))//這里為什么加.equals}

正在回答

3 回答

1.根本上講equals和==沒有區別,在Object類中,equals()方法就是先if語句判斷是否==,如果不相等再把字符拆成char型逐位比較。如果都相等就是true,否則false。(這是程序上的區別。)

2.==是判斷兩個字符的地址是否相同(如果你知道基本類型的保存方式就會更明白,簡單的說就是同一種基本類型字符在堆中只會保存一個,后來的相同字符都會接到這一個地址上),也就是說,equals先判斷兩個字符地址是否相同,地址不相同再實際比較字符是否真的不同。(這是宏觀上的區別)

注意:但是不少java自帶的類中,equals()都重寫過,不一定都一樣。

最簡單的,比較基本類型==和equals()都可以用,但是equals運行慢(沒事找事才用這個)。比較非基本類型都用equals()來比較是否相同,不能用==

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

慕虎8590642 提問者

謝啦
2016-09-10 回復 有任何疑惑可以回復我~
#2

慕圣2362166

請問什么叫基本類型,什么叫非基本類型?
2016-09-25 回復 有任何疑惑可以回復我~
#3

qq_疾速小蝸牛_0 回復 慕圣2362166

基本類型是int,long,char,等,首字母小寫的都是基本類型,String是最典型的非基本類型。
2016-10-02 回復 有任何疑惑可以回復我~
#4

qq_疾速小蝸牛_0 回復 慕圣2362166

String本質上是類,Stirng s = new Stirng("1123")這樣的過程實際上是在創建對象。 int i= 0這樣的過程不是在創建對象,只是創建了一個變量。 這是從存儲方式上區分出來的(看java編程思想):Stirng s(s是對象的引用,而不是對象本身)int i(i變量)都存儲在堆棧中(堆棧不懂沒關系),new String("123")是在真正為對象創建存儲空間,這個對象(沒名字)放在堆中(理解為和堆棧不同的存儲位置),而0這個常量放在了常量池(另一個存儲的地方)。等于號是連接地址的行為
2016-10-02 回復 有任何疑惑可以回復我~
#5

qq_疾速小蝸牛_0 回復 慕圣2362166

Sting s = new Sting("123")才是面向對象。而int i = 1暫時理解為c語言的遺留,不是面向對象的思想。不要為為啥要這么搞費腦筋學的深了就會懂
2016-10-02 回復 有任何疑惑可以回復我~
#6

慕圣2362166 回復 qq_疾速小蝸牛_0

恩,謝謝
2016-10-08 回復 有任何疑惑可以回復我~
查看3條回復

equals 方法被用來檢測兩個對象是否相等,即兩個對象的內容是否相等,區分大小寫。

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

慕虎8590642 提問者

謝謝哈
2016-09-10 回復 有任何疑惑可以回復我~

equals 方法被用來檢測兩個對象是否相等,即兩個對象的內容是否相等,區分大小寫。

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

慕虎8590642 提問者

謝謝啦
2016-09-10 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請解釋為什么要加.equals

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

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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