如何添加到List<?扩展数字>数据结构?

如何添加到List<?扩展数字>数据结构?

我有一份清单是这样宣布的:

 List<? extends Number> foo3 = new ArrayList<Integer>();

我试着把3加到3。但是,我收到了如下错误消息:

The method add(capture#1-of ? extends Number) in the type List<capture#1-of ?extends Number> is not applicable for the arguments (ExtendsNumber)


波斯汪
浏览 577回答 3
3回答

森栏

你不能(没有不安全的广播)。你只能从他们那里读到。问题是你不知道这个列表到底是什么。它可能是数字的任何子类的列表,所以当您尝试将一个元素放入其中时,您不知道该元素实际上是否适合该列表。例如,列表可能是Byte,所以将Float投入其中。

繁花如伊

你可以这样做:&nbsp;&nbsp;List<Number>&nbsp;foo3&nbsp;=&nbsp;new&nbsp;ArrayList<Number>();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;foo3.add(3);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java