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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

方法返回值類型不匹配

方法返回值類型不匹配

慕尼黑8549860 2018-07-24 06:02:46
public List<Object> initData() {    List<String> stringList = new ArrayList<>();    return stringList;}public Object tt() {    String s = "1";    return s;}為啥上邊這種就報錯類型不匹配,下邊這么寫就不報錯?
查看完整描述

3 回答

?
蕪湖不蕪

TA貢獻1796條經(jīng)驗 獲得超7個贊

String是一個Object,但是List<String>卻不是一個List<Object>。即String是Object的子類,但是List<String>卻不是List<Object>的子類。List<String>和List<Object>都是List,沒有繼承關系,但是其限定的容器中可裝的內(nèi)容的類型不一致。故兩者類型不匹配

查看完整回答
反對 回復 2018-07-24
?
慕的地8271018

TA貢獻1796條經(jīng)驗 獲得超4個贊

public Object [] initData() {
     String [] dd = new String [10];
     return dd;
 }

換成數(shù)組就不報錯,


查看完整回答
反對 回復 2018-07-24
?
小怪獸愛吃肉

TA貢獻1852條經(jīng)驗 獲得超1個贊

方法 1  List<Object> initData() {...} 
就Java 語言而言,所有的類都隱式繼承 Object,即 Object 類位于繼承樹最頂層,是所有其它類的基(父)類。 
泛型的本質(zhì)是參數(shù)化類型,也就是說所操作的數(shù)據(jù)類型被指定為一個參數(shù)。
方法 1 規(guī)定調(diào)用此方法將返回一個List ,其元素類型是 Object 。換句話說,返回的 List 之中的元素類型,可以是 Object,或 Object 的子類,即 可以是Java任何一個類的對象(實體)。
可是,此方法的代碼,創(chuàng)建了一個 元素類型僅限于String(字符串)類型的List。
一種是元素類型可以是任意一種JAVA類的實體的 List (不限類型),一種是 元素類型僅限于String(字符串)類型的 List。兩種List的類型當然不一樣,故報錯。

方法 2 Object tt(){...}
任何Java 子類的對象,都(可當作)是父類的對象。
比如,Student extends Person, 那麼,任何一個具體的學生,當然都是人(Person)。
方法 2 規(guī)定調(diào)用后返回 Object 類。
實際返回了一個字符串對象。字符串對象,當然就是一個 Object 類的對象。因此,方法 2 沒錯


查看完整回答
反對 回復 2018-07-24
  • 3 回答
  • 0 關注
  • 1257 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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