亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術(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)文章:
主站蜘蛛池模板: 久久精品视频亚洲 | 美女很黄很黄 | 中文乱码字幕午夜无线观看 | 国产下药迷倒白嫩丰满美女j8 | 久久在线免费观看视频 | 呦女精品 | 国产一级在线观看 | 日本在线观看网址 | 91在线一区二区三区 | 国产在线观看一区精品 | 国产一区二区精品在线观看 | 久久久久依人综合影院 | 国产精品综合久成人 | 美女视频网站色 | 亚洲乱强 | 美国一级免费毛片 | 黄 色 免费网 站 成 人 | 日韩一及片 | 国产伦码精品一区二区三区 | 亚洲国产精品线播放 | 91视频久久 | 中文字幕va一区二区三区 | 亚洲欧美极品 | 日韩专区亚洲国产精品 | 欧美激情成人网 | 99黄色网| 日日撸夜夜操 | 欧美视频一区二区三区在线观看 | 日产国产精品久久久久久 | 欧美成人aaaa免费高清 | 美女张开腿双腿让男人桶 | 涩涩网站| 毛片观看网址 | 国产成人无精品久久久久国语 | 男人躁女人躁的好爽免费视频 | 色香欲综合成人免费视频 | 久视频在线观看 | 欧美片网站免费 | 久久91亚洲精品中文字幕奶水 | 88av视频| 日本在线毛片视频免费看 |