相关疑难解决方法(0)

Arrays.asList()不能正常工作?

我有一个float [],我想得到一个具有相同元素的列表.我可以做一个又一个添加它们的丑陋的事情,但我想使用Arrays.asList方法.但是有一个问题.这有效:

List<Integer> list = Arrays.asList(1,2,3,4,5);
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.

int[] ints = new int[] {1,2,3,4,5};
List<Integer> list = Arrays.asList(ints);
Run Code Online (Sandbox Code Playgroud)

asList方法接受一个varargs参数,对我来说,扩展是一个数组的"简写".

问题:

  • 为什么第二段代码返回List<int[]>但不返回List<int>.

  • 有没有办法纠正它?

  • 为什么自动装箱不在这里工作; 即int[]Integer[]

java arrays list variadic-functions

54
推荐指数
5
解决办法
3万
查看次数

java`indexOf`用于`float []`

在Java中,使用java.util.Arrays以下代码:

float[] arr = {(float)0.2, (float)4.5};
Float[] brr = {new Float(0.2), new Float(4.5)};
Float x = new Float(4.5);
float y = (float)4.5;
System.out.println(Arrays.asList(arr).indexOf(x));
System.out.println(Arrays.asList(arr).indexOf(y));
System.out.println(Arrays.asList(brr).indexOf(x));
System.out.println(Arrays.asList(brr).indexOf(y));
Run Code Online (Sandbox Code Playgroud)

-1
-1
1
1
Run Code Online (Sandbox Code Playgroud)

我的问题:如何在数组中搜索4.5的索引arr

我认为这Arrays.asList(arr)会产生一个对象列表,arr但它的行为与其他数组不同,brr.

java indexof

4
推荐指数
1
解决办法
227
查看次数

它是JDK的错误吗?

这个代码抛出

线程"main"中的异常java.lang.ArrayIndexOutOfBoundsException:1

在最后一行.是bug还是什么?(JDK 7)

int ar[] = {1,2,3};
List arList = Arrays.asList(ar);
arList.set(1,8);
Run Code Online (Sandbox Code Playgroud)

java runtime-error indexoutofboundsexception

0
推荐指数
1
解决办法
168
查看次数