为什么列表<地图<?扩展数,?extends Number>> 不适用于 List<Map<Integer,Double>>

露西亚

我正在遍历一个地图,它的键是图表,值是将显示在图表上的数据集。数据集是地图列表,因为我的每个图表上都显示了多个 XYSeries(一个系列 - 一张带有 x 和 y 值的地图)。在某些图表中,x 轴/y 轴值为双精度值,而在其他图表中为整数值。因此,我的数据集类型 < ? 扩展数字>。我究竟做错了什么?

for (Map.Entry<Chart, List<Map<? extends Number, ? extends Number>>> entry : tcInstance.getMapChartDataset().entrySet()) {
        switch (entry.getKey().getTitle()) {
            case something:
                entry.setValue(listOfMaps1);
                break;
            case something else:
                entry.setValue(listOfMaps2);
                break;
           // other case options
         }
}

这些是地图列表的声明:

static List<Map<Integer, Double>> listOfMaps1 = new ArrayList<>();
static List<Map<Double, Double>> listOfMaps2 = new ArrayList<>();

我期望设置值,但我收到了这些错误,这些错误表明 setValue 方法不适用于参数 (List>)(并且参数 (List>) 也有相同的错误)。

安迪·特纳

AList<Map<Integer,Double>>不是List<Map<? extends Number,? extends Number>>

如果是这样,我可以这样做:

List<Map<Integer,Double>> list = new ArrayList<>();
List<Map<? extends Number,? extends Number>> listX = list;  // Doesn't work, pretend it does.

Map<Double,Integer> map = new HashMap<>();
map.put(0.0, 0);

listX.add(map);

for (Map<Integer, Double> e : list) {
  Integer i = e.keySet().iterator().next();  // ClassCastException!
}

你会得到 aClassCastException因为e有一把Double钥匙,而不是Integer预期的那样。

Ideone demo

如果向通配符列表添加额外的上限:

List<? extends Map<? extends Number,? extends Number>>
     ^-------^ here

那么你就无法添加maplistX,所以它会是安全的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

泛型,当方法参数为 ( List<? extends T) 时,不适用于 List<integer> 的参数

来自分类Dev

为什么Map在Groovy中不适用于GString?

来自分类Dev

为什么numpy.double适用于嵌套列表而numpy.complex不适用?

来自分类Dev

为什么bash brace扩展不适用于命令?

来自分类Dev

为什么bash brace扩展不适用于命令?

来自分类Dev

通用列表比较器不适用于list <keyvaluePair>

来自分类Dev

List <Double>是List <的子类型吗?扩展Number>,为什么?

来自分类Dev

为什么HTML中“ <input>”标记中的“ size”属性仅适用于TEXT而不适用于NUMBER?

来自分类Dev

按钮setOnclickListener不适用于可扩展列表视图

来自分类Dev

Map<Integer,Integer> 类型中的 put(Integer, Integer) 方法不适用于参数 (String, Integer)

来自分类Dev

方法sort(Map <Integer,Object>)不适用于参数(Map <Integer,Entity>)

来自分类Dev

为什么此扩展方法适用于泛型而不适用于设置的基本类型?

来自分类Dev

为什么即使Integer扩展Number,也不能用List <Integer>不能调用List <Number>?

来自分类Dev

为什么Array.map似乎不适用于未定义值的数组

来自分类Dev

为什么'declare'不适用于打字稿中的'extends'?

来自分类Dev

为什么return {};不适用于std :: forward_list?

来自分类Dev

为什么`return {};`不适用于`std :: forward_list`?

来自分类Dev

模型映射器将 Map<String,Object> 映射到扩展另一个不适用于列表字段的通用类的类

来自分类Dev

List <String>类型中的方法add(String)不适用于自变量(Map)

来自分类Dev

类型为List <String>的方法add(String)不适用于参数(Map)

来自分类Dev

机架静态不适用于地图

来自分类Dev

机架静态不适用于地图

来自分类Dev

List <List <Integer >> ArrayList初始化不适用于新的运算符Java

来自分类Dev

为什么泛型类型不适用于实参扩展两者的超类?

来自分类Dev

为什么eta扩展不适用于隐式添加的成员

来自分类Dev

Sorting Map<Integer,List<Double>>

来自分类Dev

从适用于Android的Java中的Map的ArrayList获取地图

来自分类Dev

为什么边框属性不适用于列表项?

来自分类Dev

unicode:characters_to_list似乎不适用于utf8列表

Related 相关文章

  1. 1

    泛型,当方法参数为 ( List<? extends T) 时,不适用于 List<integer> 的参数

  2. 2

    为什么Map在Groovy中不适用于GString?

  3. 3

    为什么numpy.double适用于嵌套列表而numpy.complex不适用?

  4. 4

    为什么bash brace扩展不适用于命令?

  5. 5

    为什么bash brace扩展不适用于命令?

  6. 6

    通用列表比较器不适用于list <keyvaluePair>

  7. 7

    List <Double>是List <的子类型吗?扩展Number>,为什么?

  8. 8

    为什么HTML中“ <input>”标记中的“ size”属性仅适用于TEXT而不适用于NUMBER?

  9. 9

    按钮setOnclickListener不适用于可扩展列表视图

  10. 10

    Map<Integer,Integer> 类型中的 put(Integer, Integer) 方法不适用于参数 (String, Integer)

  11. 11

    方法sort(Map <Integer,Object>)不适用于参数(Map <Integer,Entity>)

  12. 12

    为什么此扩展方法适用于泛型而不适用于设置的基本类型?

  13. 13

    为什么即使Integer扩展Number,也不能用List <Integer>不能调用List <Number>?

  14. 14

    为什么Array.map似乎不适用于未定义值的数组

  15. 15

    为什么'declare'不适用于打字稿中的'extends'?

  16. 16

    为什么return {};不适用于std :: forward_list?

  17. 17

    为什么`return {};`不适用于`std :: forward_list`?

  18. 18

    模型映射器将 Map<String,Object> 映射到扩展另一个不适用于列表字段的通用类的类

  19. 19

    List <String>类型中的方法add(String)不适用于自变量(Map)

  20. 20

    类型为List <String>的方法add(String)不适用于参数(Map)

  21. 21

    机架静态不适用于地图

  22. 22

    机架静态不适用于地图

  23. 23

    List <List <Integer >> ArrayList初始化不适用于新的运算符Java

  24. 24

    为什么泛型类型不适用于实参扩展两者的超类?

  25. 25

    为什么eta扩展不适用于隐式添加的成员

  26. 26

    Sorting Map<Integer,List<Double>>

  27. 27

    从适用于Android的Java中的Map的ArrayList获取地图

  28. 28

    为什么边框属性不适用于列表项?

  29. 29

    unicode:characters_to_list似乎不适用于utf8列表

热门标签

归档