Java 向整数列表添加整数
在我的Java 向整数列表添加整数,java,integer,int,Java,Integer,Int,在我的MappableList类中,我有a=IntegerList,我想在这个列表中添加int 通常list.add(int)会工作,因为java的自动装箱功能,但我想知道为什么我在这里不工作 代码解释:在构建MappableList的过程中,我可以传入数量可变的int参数,并希望将它们全部添加到整数列表中 public class MappableList<Integer>{ private final List<Integer> list; public M
Mappable
List类中,我有a=Integer
List,我想在这个列表中添加int
通常list.add(int)
会工作,因为java的自动装箱功能,但我想知道为什么我在这里不工作
代码解释:在构建MappableList
的过程中,我可以传入数量可变的int参数,并希望将它们全部添加到整数列表中
public class MappableList<Integer>{
private final List<Integer> list;
public MappableList(int... numbers){
list = new ArrayList<Integer>();
for(int i : numbers){
list.add(4);
}
}
}
公共类映射列表{
私人最终名单;
公共地图列表(整数…数字){
列表=新的ArrayList();
用于(int i:数字){
增加(4);
}
}
}
它正在工作
您一直在插入相同的值4
for(int i : numbers){
list.add(4);
}
取而代之
list.add(i);
不应将
Integer
用作形式类型参数。如果您希望类是泛型的,我建议将E
或T
作为类型参数;通常使用一个字母的名称:
public class MappableList<E> {
private final List<E> list;
public MappableList(E... numbers) {
list = new ArrayList<E>();
for (E i : numbers) {
list.add(i);
}
}
}
其他所有内容(包括列表之后的
和数组列表
)保持原样(不过,您可以更正循环中的数字4)
您的问题是,在MappableList
中,您的类Integer
被视为类型参数,而不是我认为您想要的标准类java.lang.Integer
。私有最终列表;
private final List<Integer> list;
public MappableList(int... numbers){
list = new ArrayList<Integer>();
for(int i : numbers){
list.add(i);
}
}
公共地图列表(整数…数字){
列表=新的ArrayList();
用于(int i:数字){
列表.添加(i);
}
}
现在它可以工作了您有9行代码,但您没有重新检查这些代码行是否有意义?如何列表。添加(4)代码>根据您想要的行为是否有意义?很好(编辑后),谢谢。很抱歉,我在添加公共类映射列表后遗漏了一些内容。它不起作用。我知道您修复了询问者代码中的错误。你可能还是想看看:-)非常感谢你,我现在明白了
private final List<Integer> list;
public MappableList(int... numbers){
list = new ArrayList<Integer>();
for(int i : numbers){
list.add(i);
}
}