亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java泛型的編譯問題

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

問題描述

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

我認為一個原因是

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,之后調用就必須是BoundedEcho<Number>。原因是BoundedEcho<Integer>等類型和BoundedEcho<Number>是不同的類,并不存在繼承關系。

標簽: java
相關文章:
主站蜘蛛池模板: 三级午夜宅宅伦不卡在线 | 久久久精品视频免费观看 | 成人久久网 | 成人国产在线看不卡 | 女人被免费看在线看 | 国产视频xxxx | 麻豆国产视频 | 91在线丝袜 | 青草视频在线观看免费资源 | 国产精品一级毛片不收费 | 在线成人免费看大片 | 中日韩欧美一级毛片 | 91短视频在线观看手机 | 99久免费精品视频在线观看2 | 国产不卡视频一区二区在线观看 | 57pao国产成视频一永久免费 | 高清影院|精品秒播3 | 免费精品美女久久久久久久久 | 欧美特级黄色片 | 亚洲 欧美 日韩 综合 | a级做爰毛片视频免费看 | 真实国产精品视频国产网 | 欧美在线观看免费一区视频 | 婷婷久久久五月综合色 | 亚洲免费高清 | 丝袜美腿在线观看 | 国产精品视频视频久久 | 深夜福利1000| 国产午夜免费视频片夜色 | 黄色片在线观看免费 | 日韩高清专区 | 亚洲综合精品成人啪啪 | 欧美成人免费大片888 | 欧洲成人免费高清视频 | 天天草综合网 | 国产偷自拍视频 | 妹子草网 | 国产高清在线观看视频 | 国产亚洲新品一区二区 | 成人做爰全过程免费的叫床看视频 | 国产成人精品日本亚洲语音1 |