是否可以将ArrayList <integer>转换为ArrayList <long>?</long> </integer>

时间:2013-03-18 18:20:49

标签: java arraylist

在我的应用程序中,我想将ArrayListInteger个对象转换为ArrayListLong个对象。有可能吗?

4 个答案:

答案 0 :(得分:8)

不在1个班轮内。

List<Integer> ints = Arrays.asList(1,2,3,4,5,6,7,8,9);
int nInts = ints.size();
List<Long> longs = new ArrayList<Long>(nInts);
for (int i=0;i<nInts;++i) {
    longs.add(ints.get(i).longValue());
}

答案 1 :(得分:4)

不,你不能因为,泛型不是多态的。即,ArrayList<Integer>不是ArrayList<Long>的子类型,因此强制转换将失败。 因此,唯一的方法是迭代List<Integer>并将其添加到List<Long>

List<Long> longList = new ArrayList<Long>();
for(Integer i: intList){
longList.add(i.longValue());
}

答案 2 :(得分:0)

有关转换列表的示例,请参阅here。当然有可能。

答案 3 :(得分:0)

ArrayList<Long> longList = new ArrayList<Long>();

Iterator<Integer> it = intList.iterator();
while(it.hasNext())
{
    Integer obj = it.next();
    longList.add(obj); //will automatically convert Int to Long
}

完成....