我能想到这些事情,
Arrays.asList(byte[])
将byte[]
转换为List<byte[]>
,我只是想知道是否有任何库函数可以做到这一点?
答案 0 :(得分:14)
对于Byte[]
而不是byte[]
,这可行:
Byte[] array = ....
List<Byte> list = Arrays.asList(array);
答案 1 :(得分:11)
Library Apache Commons Lang有ArrayUtils.toObject,它将一个原始数组转换为一个类型化的对象数组:
int array[] = { 1, 2, 3 };
List<Integer> list = Arrays.asList(ArrayUtils.toObject(array));
答案 2 :(得分:9)
this帖子建议:guava Bytes class可以提供帮助:
byte[] bytes = ...
List<Byte> byteList = Bytes.asList(bytes);
答案 3 :(得分:0)
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));
答案 4 :(得分:0)
我认为没有附加库的最简单的纯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
。
答案 5 :(得分:0)
Java 8 单行 byte[]
到 List<Byte>
的转换,给定 array
作为输入:
List<Byte> list = IntStream.range(0, array.length).mapToObj(i -> array[i]).collect(Collectors.toList());