将List <byte>转换为List <integer> </integer> </byte>的最佳方法是什么?

时间:2012-08-16 11:23:53

标签: java generics

哪种转换方式最好目前我正在使用下面的内容

List<Byte> bytes = new ArrayList<Byte>();
List<Object> integers = Arrays.asList(bytes.toArray());

然后整数内的每个对象都需要对Integer进行类型转换。还有其他方法可以实现这个目标吗?

2 个答案:

答案 0 :(得分:4)

使用标准JDK,这是如何做到的

List<Byte> bytes = new ArrayList<Byte>();
// [...] Fill the bytes list somehow

List<Integer> integers = new ArrayList<Integer>();
for (Byte b : bytes) {
  integers.add(b == null ? null : b.intValue());
}

如果您确定,null中没有任何bytes值:

for (byte b : bytes) {
  integers.add((int) b);
}

答案 1 :(得分:0)

如果项目中有Google的Guava:

// assume listofBytes is of type List<Byte>
List<Integer> listOfIntegers = Ints.asList(Ints.toArray(listOfBytes));