我可以想到以下几点:
Arrays.asList(byte[])
将byte[]
转换为List<byte[]>
,- 循环遍历字节数组并将每个元素添加到列表中。
我只是想知道是否有任何库函数可以实现这个功能?
我可以想到以下几点:
Arrays.asList(byte[])
将 byte[]
转换为 List<byte[]>
,我只是想知道是否有任何库函数可以实现这个功能?
图书馆 Apache Commons Lang 有一个 ArrayUtils.toObject 方法,可以将原始数组转换为类型化对象数组:
int array[] = { 1, 2, 3 };
List<Integer> list = Arrays.asList(ArrayUtils.toObject(array));
List<Byte> byteList = Arrays.asList(ArrayUtils.toObject(bytes));
- jpmottin正如这篇帖子所建议的那样:可以使用guava Bytes类来帮助解决问题:
byte[] bytes = ...
List<Byte> byteList = Bytes.asList(bytes);
如果使用Byte[]
而不是byte[]
,则可以这样使用:
Byte[] array = ....
List<Byte> list = Arrays.asList(array);
将Java 8中一行代码的byte[]
转换为List<Byte>
,输入参数为array
:
List<Byte> list = IntStream.range(0, array.length).mapToObj(i -> array[i]).collect(Collectors.toList());
我认为最简单的纯Java方式,不需要额外的库,就是这样:
private static List<Byte> convertBytesToList(byte[] bytes) {
final List<Byte> list = new ArrayList<>();
for (byte b : bytes) {
list.add(b);
}
return list;
}
但最好再检查一遍,确认您是否真的需要将 byte
转换为 Byte
。
byte[] byteArray;
List<Byte> medianList=new ArrayList<>();
int median=0,count=0;
Path file=Paths.get("velocities.txt");
if(Files.exists(file)){
byteArray=Files.readAllBytes(file);
}
medianList.addAll(Arrays.asList(byteArray));
Arrays.asList
不是一个“库函数”吗? - vitaut