How do I convert an array to a list in Java?
I used the Arrays.asList() but the behavior (and signature) somehow changed from Java SE 1.4.2 (docs now in archive) to 8 and most snippets I found on the web use the 1.4.2 behaviour.
For example:
int[] numbers = new int[] { 1, 2, 3 };
Arrays.asList(numbers)
- on 1.4.2 returns a list containing the elements 1, 2, 3
- on 1.5.0+ returns a list containing the array ‘numbers’
In many cases it should be easy to detect, but sometimes it can slip unnoticed:
Assert.assertTrue(Arrays.asList(numbers).indexOf(4) == -1);
In your example, it is because you can’t have a List of a primitive type. In other words,
List<int>is not possible.You can, however, have a
List<Integer>using theIntegerclass that wraps theintprimitive. Convert your array to aListwith theArrays.asListutility method.See this code run live at IdeOne.com.