2010-11-20 37 views
23

tôi có thể nghĩ đến những điều này,chuyển một mảng byte vào danh sách <Byte>

  1. Arrays.asList(byte[]) chuyển đổi byte[] để List<byte[]>,
  2. lặp qua mảng byte và thêm mỗi phần tử vào danh sách

tôi chỉ là tự hỏi Có chức năng thư viện nào để làm điều đó không?

+1

«Arrays.asList' không phải là" hàm thư viện "? – vitaut

+6

@vitaut: Vấn đề là Arrays.asList làm điều sai ở đây. –

+0

có một số vấn đề trong định dạng của tôi, nó chuyển đổi nó thành Danh sách và không phải Danh sách

Trả lời

13

Đối Byte[] thay vì byte[] này sẽ làm việc:

Byte[] array = .... 
    List<Byte> list = Arrays.asList(array); 
+4

không thể chuyển đổi từ Danh sách thành Danh sách

+0

Vâng, bạn nói đúng. Nó chỉ hoạt động với Byte []. Tôi đã sửa đổi câu trả lời. – chkal

+2

ohh k .. đó là thú vị ... bây giờ tôi có thể chuyển đổi byte [] để Byte []? –

10

Thư viện Apache Commons Lang có ArrayUtils.toObject, mà biến một mảng nguyên thủy đến một mảng đối tượng gõ:

int array[] = { 1, 2, 3 }; 
List<Integer> list = Arrays.asList(ArrayUtils.toObject(array)); 
+0

Đối với câu trả lời ở trên: nếu byte là một mảng byte (byte [] byte), bạn có thể thực hiện như sau: 'Danh sách byteList = Arrays.asList (ArrayUtils.toObject (bytes));' – jpmottin

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)); 
+0

Không làm việc, bởi vì bạn đã khai báo danh sách với Byte và bạn đang cố thêm byte. –

5

Như this bài đăng gợi ý: số guava Bytes class có thể trợ giúp:

byte[] bytes = ... 
List<Byte> byteList = Bytes.asList(bytes); 
Các vấn đề liên quan