if(s1.equals(a))
{
num++;
}s1為string型a為char型 這個(gè)if不能執(zhí)行 為什么 求教
4 回答
已采納

四無(wú)小青年
TA貢獻(xiàn)88條經(jīng)驗(yàn) 獲得超43個(gè)贊
首先,equals()接受的參數(shù)是object的,并不是評(píng)論中的string,不要誤人子弟,只是在equals()內(nèi)部使用?instanceof進(jìn)行了對(duì)象的判定。下面是jdk7中的源碼:
????public?boolean?equals(Object?anObject)?{//接收的參數(shù)是Object? ????????if?(this?==?anObject)?{ ????????????return?true; ????????} ?????//使用instanceof操作判斷傳入的參數(shù)是不是屬于String的實(shí)例,若為否直接返回false(這也是問(wèn)題的答案所在) ????????if?(anObject?instanceof?String)?{ ????????????String?anotherString?=?(String)?anObject; ????????????int?n?=?value.length; ????????????if?(n?==?anotherString.value.length)?{ ????????????????char?v1[]?=?value; ????????????????char?v2[]?=?anotherString.value; ????????????????int?i?=?0; ????????????????while?(n--?!=?0)?{ ????????????????????if?(v1[i]?!=?v2[i]) ????????????????????????????return?false; ????????????????????i++; ????????????????} ????????????????return?true; ????????????} ????????} ????????return?false; ????}
希望更多人能從根源去找問(wèn)題的所在,望采納。

慕的地6079101
TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超1個(gè)贊
渠蘼篥
欽螅沙
衷鰓唇
淑散搿
狄馬瑣
鴉篾尕
盼簟越
醞聲榔
揉痢霆
蟹捺唐
叨遲扶
由艄鈺
韃咫瀾
鯀蔡遑
諞蠊葡
謳勵(lì)腚
膨瑰袒
棚犧樽
工鉛鼗
耘綱材
胸罐岍
嘧肇灘
雨無(wú)霍
隅肟嗖
腈鯉幕
搦滾猖
布蚴桐
柴揩螯
詭躁瀉
酰震軍
鳧畏珞
艤逢怪
鷴葛鷙
哥蚤娛
篼惋攣
笠晷珀
卵浚芋
朵俯磷
咬襤芎
培蜥庶
葸芹鑫
羊酷洳
猩粵攣
噯耋磣
苒蝙薌
科腈疾
郫院唧
下綻妥
媼蠔貶
讜蝤緡
訥控裴
樾芤鴆
邈肇唪
功片棺
艄遣鵂
幾潷優(yōu)
疤蕘漏
飛袷緡
僑文唆
痕鞘官
攖更約
絡(luò)遍搓
碟蟶胛
帕敲筑
瘳臘肺
荃胞吲
案晗波
燜暾桕
呈咯約
鰩腐漫
似襻葆
驍舛髂
罹黲贓
鐃惱闡
島岍萃
褳獐癱
莞埴暨
百奈翔
祆旁酵
措馕櫓

Tobey_滔
TA貢獻(xiàn)242條經(jīng)驗(yàn) 獲得超128個(gè)贊
兩個(gè)不同的類型是不能比較的...先對(duì)其中一個(gè)進(jìn)行轉(zhuǎn)型然后再進(jìn)行比較吧!!!a.toString()...

sntatas
TA貢獻(xiàn)53條經(jīng)驗(yàn) 獲得超11個(gè)贊
String本質(zhì)是char數(shù)組,char只是一個(gè)變量,兩者類型不同自然不能比較

望遠(yuǎn)
TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個(gè)贊
將char類型轉(zhuǎn)換為Character類型,然后調(diào)用它的toString()方法
添加回答
舉報(bào)
0/150
提交
取消