Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向整数列表添加整数_Java_Integer_Int - Fatal编程技术网

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);
    }    
}