最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么不可以調(diào)用equals方法

為什么不可以設(shè)置一個(gè)字符串,字符串內(nèi)容是“a”(String ch = "a"),然后調(diào)用equals方法,與s.charAt(i)進(jìn)行比較( ?ch.equals(s.charAt(i)) ?)?不也是一樣的內(nèi)容嗎?為什么一定是同一個(gè)字符,而不能是內(nèi)容相同呢??求解

正在回答

9 回答

s.charAt(i)返回的值是char是一個(gè)基本類(lèi)型,用==比較就可以了,只有當(dāng)是引用類(lèi)型的時(shí)候用equals會(huì)比較好

19 回復(fù) 有任何疑惑可以回復(fù)我~
#1

楊云亭

引用類(lèi)型是?
2015-01-08 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕娘2181525 回復(fù) 楊云亭

String類(lèi)型的就是引用類(lèi)型,你也可以s.charAt(i)+""這樣轉(zhuǎn)化成String類(lèi)型,然后(s.charAt(i)+"").equals("a")就可以比較了。
2016-08-23 回復(fù) 有任何疑惑可以回復(fù)我~
#3

不看6324不混吃等死 回復(fù) 慕娘2181525

???
2017-01-06 回復(fù) 有任何疑惑可以回復(fù)我~
#4

城序圓 回復(fù) 慕娘2181525

軟軟問(wèn)句,為什么加了“”就變成string?
2019-03-11 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

equals表示兩個(gè)字符串完全相同,是來(lái)自同一對(duì)象的引用,地址相同。而==表示僅僅是字符串內(nèi)容相同,地址不一定一樣。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

月影下

說(shuō)反了
2017-05-24 回復(fù) 有任何疑惑可以回復(fù)我~

public static void main(String[] args) {

/* String str="學(xué)習(xí) JAVA 編程 ";

System.out.println("獲取1位置字符"+str.charAt(1));

byte[]b=str.getBytes();

for(byte a:b){

System.out.print(a+" ");

*/

String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";

? ??

? ? // 出現(xiàn)次數(shù)

int num = 0;

? ??

? ? ?// 循環(huán)遍歷每個(gè)字符,判斷是否是字符 a ,如果是,累加次數(shù)

for (int i=0;i<s.length();i++ ? ? ? ? ? ? ? ? ? ? ? )

{String b=s.substring(i,i+1);

? ? ? ? // 獲取每個(gè)字符,判斷是否是字符a

if (b.equals("a") )

//(s.charAt(i) +" ").equals("a"))

{

? ? ? ? ? ? // 累加統(tǒng)計(jì)次數(shù)

num++;?

}

}

System.out.println("字符a出現(xiàn)的次數(shù):" + num);

}

這樣子也行


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

tigerAndBull

為什么直接用s[i]不行
2017-05-16 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕娘4342957 回復(fù) tigerAndBull

數(shù)組才能用s[i]呀,s是字符串
2017-08-12 回復(fù) 有任何疑惑可以回復(fù)我~
#3

城序圓

想問(wèn)下,就是if給您注釋的那一段,去掉“”怎么就不行了?萌新不太懂,可以回復(fù)下嗎哈
2019-03-11 回復(fù) 有任何疑惑可以回復(fù)我~

字符的比較會(huì)不會(huì)是比較ASCII碼的值呢,因?yàn)楦杏X(jué)s.charAt(i)= = 'a'不太可能是同一個(gè)內(nèi)存地址

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕容6636443

另外equals()在object類(lèi)里最初是用來(lái)比較是否指向同一內(nèi)存空間,只在個(gè)別類(lèi)里重寫(xiě)/覆蓋成比較值是否相等(比如String,Integer,Date等),基本類(lèi)型可以用= = 判斷,應(yīng)該就沒(méi)有重寫(xiě)/覆蓋equals吧。然后我不太確定(s.charAt(i)).equals(‘a’)有沒(méi)有給s.charAt(i)或a分配內(nèi)存空間,但是如果有的話應(yīng)該返回false吧,因?yàn)橹赶虻膬?nèi)存空間不一樣
2016-09-01 回復(fù) 有任何疑惑可以回復(fù)我~

equal方法是String類(lèi)型的方法,而char是基本數(shù)據(jù)類(lèi)型,不是一個(gè)類(lèi),是沒(méi)有equal方法的,多想想類(lèi)的概率,對(duì)象的該類(lèi),Java是面向?qū)ο蟮恼Z(yǔ)言,需要慢慢體會(huì),String源碼也非常簡(jiǎn)單,可以自己看看找出定義的equal方法

1 回復(fù) 有任何疑惑可以回復(fù)我~

public class HelloWorld {

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

// 定義一個(gè)字符串

String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";


? ? ? ? // 出現(xiàn)次數(shù)

int num = 0;

? ? ? ??

? ? ? ? ?// 循環(huán)遍歷每個(gè)字符,判斷是否是字符 a ,如果是,累加次數(shù)

for (int i = 0 ; i < s.length(); i++){

? ? ? ? ? ? // 獲取每個(gè)字符,判斷是否是字符a

if ((s.charAt(i) + "").equals("a")) {

? ? ? ? ? ? ? ? // 累加統(tǒng)計(jì)次數(shù)

num ++;?

}

}

System.out.println("字符a出現(xiàn)的次數(shù):" + num);

}

}


2 回復(fù) 有任何疑惑可以回復(fù)我~

equals 是引用類(lèi)型String的方法,而s.charAt(i)返回的是一個(gè)字符,是一個(gè)基本數(shù)據(jù)類(lèi)型的數(shù)據(jù),不是一個(gè)對(duì)象,所以沒(méi)有equals方法。(有問(wèn)題請(qǐng)批評(píng)指出啊,3q)

20 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_卡卡羅特_5

對(duì)對(duì)對(duì),equals()方法需要對(duì)象來(lái)引用。。。
2017-10-15 回復(fù) 有任何疑惑可以回復(fù)我~

因?yàn)?equals 只能比較類(lèi)型相同的兩個(gè)對(duì)象內(nèi)容,如果你把char轉(zhuǎn)換成string就可以用了,比如:

if ((s.charAt(i)+"").equals("a"))

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

長(zhǎng)頸鹿在附近

你這樣是不行的。char不能轉(zhuǎn)成String
2015-12-06 回復(fù) 有任何疑惑可以回復(fù)我~
#2

波浪波浪海海 回復(fù) 長(zhǎng)頸鹿在附近

可以的 你試一試~
2016-02-01 回復(fù) 有任何疑惑可以回復(fù)我~

equals方法是比較兩個(gè)字符串是否相等,而這里charAt()方法返回的是一個(gè)字符型,兩個(gè)類(lèi)型都不相同的變量,如何用equals比較?所以這里用字符型的數(shù)據(jù)采用==進(jìn)行比較

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

楊云亭

equals方法比較的是兩個(gè)字符串的內(nèi)容是否相同,==比較的是兩個(gè)字符串的內(nèi)存地址,比較的都是字符串,那==也可比較字符型,equals不能嗎?
2015-01-08 回復(fù) 有任何疑惑可以回復(fù)我~
#2

武當(dāng)王也 回復(fù) 楊云亭

你應(yīng)該補(bǔ)補(bǔ)基礎(chǔ),首先你得明白==是用來(lái)干嘛的,第二你得了解,java語(yǔ)言中有哪些數(shù)據(jù)類(lèi)型,就兩種,自己百度,或者看書(shū),char屬于基本類(lèi)型,==對(duì)于基本數(shù)據(jù)類(lèi)型來(lái)說(shuō),作用只是比較他們是否一樣,例如1==1,'a'=='a',而string是屬于引用類(lèi)型,==運(yùn)算符就不是比較他們的值,而是比較虛地址,比較值,有專(zhuān)門(mén)的equals方法。
2015-09-09 回復(fù) 有任何疑惑可以回復(fù)我~
#3

君未知 回復(fù) 武當(dāng)王也

講的透徹!
2018-01-14 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么不可以調(diào)用equals方法

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

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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