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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

java中的String的compareTo()方法問(wèn)題

java中的String的compareTo()方法問(wèn)題

不負(fù)相思意 2019-05-14 09:08:40
public void inputMoreTimes(){String result ="hello,word!";String result2="bhello,w";System.out.println(result.compareTo(result2));System.out.println("hello".compareTo("hello,"));}為什么兩個(gè)值不一樣? 一個(gè)是6 ,一個(gè)是-1
查看完整描述

5 回答

?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

樓主請(qǐng)看一下java api中對(duì)String類(lèi)中compareTo方法的解釋?zhuān)?/p>

1.result.compareTo(result2)) 是根據(jù)第一個(gè)紅框標(biāo)注的方法比較的,即返回這兩個(gè)字符串在位置 k 處兩個(gè)char 值的差

2."hello".compareTo("hello,")
則是根據(jù)第二個(gè)紅框標(biāo)注的方式進(jìn)行比較的,即返回這兩個(gè)字符串長(zhǎng)度的差




查看完整回答
反對(duì) 回復(fù) 2019-05-15
?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

String 是字符串,它的比較用compareTo方法,它從第一位開(kāi)始比較,如果遇到不同的字符,則馬上返回這兩個(gè)字符的ascii值差值..返回值是int類(lèi)型

第一個(gè)是“hello,word!”與"bhello,w"進(jìn)行比較,第一位就不相同,b和h在ascii碼中相差6;第二個(gè)是“hello”和“hello,”,如果按字典順序此字符串小于字符串參數(shù),則返回一個(gè)小于 0 的值

查看完整回答
反對(duì) 回復(fù) 2019-05-15
?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊

public int compareTo(String anotherString)
方法是按字典順序比較兩個(gè)字符串。該比較基于字符串中各個(gè)字符的 Unicode 值。按字典順序?qū)⒋?String
對(duì)象表示的字符序列與參數(shù)字符串所表示的字符序列進(jìn)行比較。如果按字典順序此 String
對(duì)象位于參數(shù)字符串之前,則比較結(jié)果為一個(gè)負(fù)整數(shù)。如果按字典順序此 String
對(duì)象位于參數(shù)字符串之后,則比較結(jié)果為一個(gè)正整數(shù)。如果這兩個(gè)字符串相等,則結(jié)果為 0;compareTo 只在方法 equals(Object)
返回 true 時(shí)才返回 0。
這是字典排序的定義。如果這兩個(gè)字符串不同,那么它們要么在某個(gè)索引處的字符不同(該索引對(duì)二者均為有效索引),要么長(zhǎng)度不同,或者同時(shí)具備這兩種情況。如果它們?cè)谝粋€(gè)或多個(gè)索引位置上的字符不同,假設(shè)
k 是這類(lèi)索引的最小值;則在位置 k 上具有較小值的那個(gè)字符串(使用 <
運(yùn)算符確定),其字典順序在其他字符串之前。在這種情況下,compareTo 返回這兩個(gè)字符串在位置 k
處兩個(gè)char 值的差,即值:
this.charAt(k)-anotherString.charAt(k)
如果沒(méi)有字符不同的索引位置,則較短字符串的字典順序在較長(zhǎng)字符串之前。在這種情況下,compareTo
返回這兩個(gè)字符串長(zhǎng)度的差,即值:
this.length()-anotherString.length()

字典順序比較兩個(gè)字符串。該比較基于字符串中各個(gè)字符的 Unicode 值。按字典順序?qū)⒋?String
對(duì)象表示的字符序列與參數(shù)字符串所表示的字符序列進(jìn)行比較。如果按字典順序此 String
對(duì)象位于參數(shù)字符串之前,則比較結(jié)果為一個(gè)負(fù)整數(shù)。如果按字典順序此 String
對(duì)象位于參數(shù)字符串之后,則比較結(jié)果為一個(gè)正整數(shù)。如果這兩個(gè)字符串相等,則結(jié)果為 0;compareTo 只在方法 equals(Object)
返回 true 時(shí)才返回 0。
這是字典排序的定義。如果這兩個(gè)字符串不同,那么它們要么在某個(gè)索引處的字符不同(該索引對(duì)二者均為有效索引),要么長(zhǎng)度不同,或者同時(shí)具備這兩種情況。如果它們?cè)谝粋€(gè)或多個(gè)索引位置上的字符不同,假設(shè)
k 是這類(lèi)索引的最小值;則在位置 k 上具有較小值的那個(gè)字符串(使用 <
運(yùn)算符確定),其字典順序在其他字符串之前。在這種情況下,compareTo 返回這兩個(gè)字符串在位置 k
處兩個(gè)char 值的差,即值:
this.charAt(k)-anotherString.charAt(k)
如果沒(méi)有字符不同的索引位置,則較短字符串的字典順序在較長(zhǎng)字符串之前。在這種情況下,compareTo
返回這兩個(gè)字符串長(zhǎng)度的差,即值:
this.length()-anotherString.length()




 



查看完整回答
反對(duì) 回復(fù) 2019-05-15
?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

public int compareTo(String anotherString) {
int len1 = value.length;
int len2 = anotherString.value.length;
int lim = Math.min(len1, len2);
char v1[] = value;
char v2[] = anotherString.value;

int k = 0;
while (k < lim) {
char c1 = v1[k];
char c2 = v2[k];
if (c1 != c2) {
return c1 - c2;
}
k++;
}
return len1 - len2;
}
這是string的比較方法代碼。第一個(gè)返回6因?yàn)楸容^第一個(gè)字符用'h'-'b'=6,第二個(gè)因?yàn)閔ello這幾個(gè)字符都一樣,所以返回第一個(gè)字符串的長(zhǎng)度-第二個(gè)字符串長(zhǎng)度5-6=-1



查看完整回答
反對(duì) 回復(fù) 2019-05-15
  • 5 回答
  • 0 關(guān)注
  • 456 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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