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

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

為什么這樣寫錯了?

if(mypen.equals("black"))
{
document.write("筆是黑色的,所以購買");
}

正在回答

7 回答

equals 方法是 java.lang.Object 類的方法。

有兩種用法說明:

(1)對于字符串變量來說,使用“==”和“equals()”方法比較字符串時,其比較方法不同。

“==”比較兩個變量本身的值,即兩個對象在內(nèi)存中的首地址。

“equals()”比較字符串中所包含的內(nèi)容是否相同。

比如:

String s1,s2,s3 = "abc", s4 ="abc" ;

s1 = new String("abc");

s2 = new String("abc");

?那么:

s1==s2? ?是 false????? //兩個變量的內(nèi)存地址不一樣,也就是說它們指向的對象不?一樣,

故不相等。

s1.equals(s2) 是 true????//兩個變量的所包含的內(nèi)容是abc,故相等。

?

注意(1):

如果:????????? StringBuffer s1 = new StringBuffer("a");
????????????????????? StringBuffer s2 = new StringBuffer("a");
??????????????????????

結(jié)果:?????????? s1.equals(s2)? //是false

解釋:StringBuffer類中沒有重新定義equals這個方法,因此這個方法就來自O(shè)bject類,
???????????

????????? 而Object類中的equals方法是用來比較“地址”的,所以等于false.

注意(2):

對于s3和s4來說,有一點不一樣要引起注意,由于s3和s4是兩個字符

串常量所生成的變量,其中所存放的內(nèi)存地址是相等的,

所以s3==s4是true(即使沒有s3=s4這樣一個賦值語句)


(2)對于非字符串變量來說,"=="和"equals"方法的作用是相同的都是用來比較其

對象在堆內(nèi)存的首地址,即用來比較兩個引用變量是否指向同一個對象。

比如:

class A

{

????? A obj1?? =???new? A();

????? A obj2?? =? ?new? A();

}

那么:obj1==obj2是false

??????????? obj1.equals(obj2)是false

?

但是如加上這樣一句:obj1=obj2;

那么? obj1==obj2? 是true

????????? obj1.equals(obj2) 是true

?

總之:equals方法對于字符串來說是比較內(nèi)容的,而對于非字符串來說是比較

其指向的對象是否相同的。

???????????? == 比較符也是比較指向的對象是否相同的也就是對象在對內(nèi)存中的的首地址。

?


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

菜鳥學_PHP 提問者

非常感謝!
2016-09-26 回復 有任何疑惑可以回復我~

if(mypen=="black")
{
document.write("筆是黑色的,所以購買");
}

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

http://www.cnblogs.com/bluestorm/archive/2012/03/02/2377615.html點擊這個鏈接,博主明確的指出了"=="與equals的區(qū)別和用法

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

javaScript中字符串比較沒有equals()方法。

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

equals不能這么用吧,可以改成if(mypen=='black')

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

if(mypen="black")

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

把IF放在一個函數(shù)里試試 不要直接裸IF

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

舉報

0/150
提交
取消

為什么這樣寫錯了?

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號