当前位置: 首页 > 知识库问答 >
问题:

如何向泛型中通配符的ArrayList添加整数元素?

柳弘方
2023-03-14

我有一个ArrayList泛型通配符类型,它以Number作为扩展。我试图将整数值添加到ArrayList中。

ArrayList<? extends Number> numberList = new ArrayList<Number>();
    numberList = new ArrayList<Integer>();
    numberList.add(100);
ArrayList<?> numberList = new ArrayList<Number>();
    numberList = new ArrayList<Integer>();
    numberList.add(100);

方法add(int,capture#2-of?)在类型中,ArrayList 不适用于参数(int)

共有1个答案

松波
2023-03-14

你不能。<代码>?extends部分基本上告诉编译器:它是某种类型的,我不知道,但它扩展了number。

因此编译器不能保证要添加的类型与未知类型兼容。因此,你不能在这样的集合中添加任何东西。

 类似资料:
  • 问题内容: 我有一个ArrayList通用通配符类型,它以Number为扩展名。我正在尝试将整数值添加到ArrayList中。 但是它给我一个错误,说 类型中的方法add(int,capture#2-of?)不适用于参数(int)。 我也尝试过这种方式,但是给了我同样的错误 错误是: 类型中的方法add(int,capture#2-of?)不适用于参数(int) 问题答案: 你不能 该部分基本上告

  • 注意:“else”语句只是出于测试目的,似乎表明if语句没有正常工作,因为当我测试时,它总是被触发。

  • 我想在java中创建一个哈希表类,将键和值对存储在链表的ArrayList中 然后,我想创建一个链接列表对象,然后可以使用该对象在arrayList的每个索引内创建一个新的链接列表。为此,我声明: 然后我设置了add函数以将元素添加到LinkedList的第一个索引中,该索引位于arrayList的哈希键索引中: 每次运行此代码时,我都会收到一个错误,其中我的索引为7而我的大小为0。这会导致错误:

  • 在android studio中,我试图放入一个整数的ArrayList中,其中包含标签id如下所示

  • 问题内容: 为什么此代码无法编译(是接口)? 问题答案: 这样做是出于安全考虑。想象一下它是否有效: 含义是“ the是扩展了某种类型的列表Parent。我们不知道哪种类型-它可能是,或。” 这使得它的安全抓取任何物品出来的的,从API和转换T到Parent,但它不是安全地调用中的从转换到......因为转换可能是无效的。

  • 我有一个扩展a的类B。a存储一个Item的列表,B存储一个BItem的列表 在“a”中,我有一个使用[?extends AItem]的ArrayList。 我假设这意味着我可以将这个ArrayList用于扩展aItem的任何类型的对象。