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

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

有關(guān)JAVA 數(shù)組排序的方法,對Arrays.sort()方法有疑問?

有關(guān)JAVA 數(shù)組排序的方法,對Arrays.sort()方法有疑問?

慕工程0101907 2018-07-11 13:03:55
此API規(guī)定實(shí)體bean要實(shí)現(xiàn)comparable接口并重寫compareTo方法,為什么不將API改為Arrays.sort(Compatable[] com)呢?
查看完整描述

2 回答

?
胡子哥哥

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

寫成Compatable[]的參數(shù),sort方法就只能接收對象為參數(shù),而簡單類型就不能用了,如

int [] a ={1,2,3,6,4,3,23,5,6,7,9};

Arrays.sort(a);//a = [1, 2, 3, 3, 4, 5, 6, 6, 7, 9, 23]


查看完整回答
反對 回復(fù) 2018-07-15
?
RISEBY

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

真正的原因是因?yàn)镴ava數(shù)組的一個(gè)特性導(dǎo)致不得不這樣設(shè)計(jì)。簡單來說,Java數(shù)組的運(yùn)行時(shí)類型不是由其元素類型決定,而是由其實(shí)例化時(shí)的類型決定的。

比如下面這個(gè)數(shù)組:

Object[] arr = {    "hello", "world"};

它的實(shí)際類型就是Object[](大括號的簡寫法相當(dāng)于Object[] arr = new Object[] {...};,因此其實(shí)例化類型為Object[])。雖然它里面的元素全部都是字符串,按照直覺你可能會(huì)覺得可以把它轉(zhuǎn)換為String[]數(shù)組,但其實(shí)不然,下面的轉(zhuǎn)換在運(yùn)行時(shí)將會(huì)報(bào)錯(cuò):

String[] arr2 = (String[]) arr;
注:如果反過來,將一個(gè)String[]數(shù)組轉(zhuǎn)換為Object[]數(shù)組則是可行的,因?yàn)榍罢呤呛笳叩淖宇愋汀?/blockquote>

所以這會(huì)導(dǎo)致什么問題?如果Arrays.sort()聲明為接收Comparable[]數(shù)組,那么就要求程序員在使用的時(shí)候必須一開始就為該數(shù)組實(shí)例化為一個(gè)Comparable[]數(shù)組或其兼容數(shù)組,而不能等到調(diào)用sort()方法的時(shí)候再臨時(shí)轉(zhuǎn)換,因?yàn)榫拖袂懊娴睦幽菢?,這種轉(zhuǎn)換很有可能會(huì)失敗。


查看完整回答
反對 回復(fù) 2018-07-15
  • 2 回答
  • 0 關(guān)注
  • 387 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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