public static void main(String[] args)
{
long[] arr = new long[]{11,41,31,31};
//List<Long> list = Longs.asList(arr);
//List list = Arrays.stream(arr).boxed().collect(Collectors.toList());
List list = Arrays.asList(arr);
System.out.println(list.get(0));
}
期望輸出第一個元素11,但實際輸出的是 [J@1c4af82c,我知道List只能添加包裝型別或參考型別,需要怎么做才能輸出11呢?
求大神答疑解惑,謝謝!
uj5u.com熱心網友回復:
.toString( );uj5u.com熱心網友回復:
可以參考
Long[] arr = {Long.valueOf(11), Long.valueOf(41), Long.valueOf(31), Long.valueOf(31)};
List<Long> list = Arrays.asList(arr);
System.out.println(arr[0]);
System.out.println(list.get(0));
uj5u.com熱心網友回復:
public static void main(String[] args) {
Long[] arr = new Long[]{11l, 41l, 31l, 31l};
List list = Arrays.asList(arr);
System.out.println(list.get(0));
}
uj5u.com熱心網友回復:
說錯了哈哈
java8 可以用這個方式
List<long> list = Arrays.stream(arr).boxed().collect(Collectors.toList());
List<Long> longs = Arrays.asList(ArrayUtils.toObject(arr);
uj5u.com熱心網友回復:
long[] arr = new long[]{11,41,31,31};
//List<Long> list = Longs.asList(arr);
//List list = Arrays.stream(arr).boxed().collect(Collectors.toList());
List<long[]> list = Arrays.asList(arr);
System.out.println(list.get(0)[0]);
uj5u.com熱心網友回復:
原因是因為你的陣列里的資料沒有識別,然后就把整個list作為一個資料存盤上去了,所以才導致輸出的是參考
uj5u.com熱心網友回復:
List 不泛型,你看.get() 得回傳是Object, System.out 呼叫得父類Object 得toString,輸出得就是記憶體地址;轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/192805.html
標籤:Java SE
