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);
Best Answer
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 theInteger
class that wraps theint
primitive. Convert your array to aList
with theArrays.asList
utility method.See this code run live at IdeOne.com.