成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術(shù)文章
文章詳情頁

Java泛型的編譯問題

瀏覽:107日期:2023-12-09 08:29:30

問題描述

源代碼如下跳至下面提示符,這段代碼顯然是無法編譯的

我認(rèn)為一個原因是

BoundedEcho<String> stringEcho = new BoundedEcho<String>();

這里的String無法繼承Number,他不是String的子類?這樣理解對么?

然后另一個問題是,最后那段我傳入了一個new BoundedEcho<Integer> object, 而且他是BoundedEcho<T>的, 為什么這里會報錯呢?

是否將BoundedEcho改為public class BoundedEcho<? extends Number> {...}就對了?

源代碼在這里

public class BoundedEcho<T extends Number> { public T echo(T value) {return value; } public BoundedEcho<T> echo(BoundedEcho<T> value) {return value; }}

public class BoundedEchoChamber{ public static void main(String[] args) {BoundedEcho<Number> numberEcho = new BoundedEcho<Number>();numberEcho.echo(10);numberEcho.echo(10d);numberEcho.echo(10f);numberEcho.echo(10L); BoundedEcho<String> stringEcho = new BoundedEcho<String>();numberEcho.echo(new BoundedEcho<Integer>());numberEcho.echo(new BoundedEcho<Double>());numberEcho.echo(new BoundedEcho<Float>());numberEcho.echo(new BoundedEcho<Long>()); }}

問題解答

回答1:

問題出在這兩句

public BoundedEcho<T> echo(BoundedEcho<T> value) {return value; } BoundedEcho<Number> numberEcho = new BoundedEcho<Number>();

實例化的時候你把T聲明成了Number,之后調(diào)用就必須是BoundedEcho<Number>。原因是BoundedEcho<Integer>等類型和BoundedEcho<Number>是不同的類,并不存在繼承關(guān)系。

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 欧美黄a| 午夜免费毛片 | 亚洲理论欧美理论在线观看 | 黄色a网| 伊人热久久 | 青青草福利视频 | 91精品成人 | 亚洲欧美另类在线视频 | 日本aaaa级毛片在线看 | 成人欧美在线 | 亚洲欧美中文字幕在线网站 | 最新在线步兵区 | 97视频在线观看免费播放 | 99视频免费| 三级视频在线播放 | 777色狠狠一区二区三区 | 色综合久久88中文字幕 | 欧美一级毛片片aa视频 | 久久免费公开视频 | 欧美成人午夜做爰视频在线观看 | 米奇精品一区二区三区在线观看 | 免费观看成人毛片 | 国产美女精品在线 | 草草影院私人免费入口 | 亚洲欧洲国产精品 | 91欧美视频 | 九色视频在线观看免费 | caoporen国产91在线 | 欧美巨大精品videos | 性刺激久久久久久久久 | 999热精品这里在线观看 | 大片在线播放日本一级毛片 | 97精品国产福利一区二区三区 | 一级片在线播放 | 亚洲欧美国产视频 | 欧美一区二区免费 | 在线观看免费为成年视频 | 男人的天堂免费网站 | 淫模| 九九九精品 | 亚洲国产成人久久一区久久 |