Regarding the original question, the one about using Arrays.asList() on a primitive array int[]:
Unfortunately, I don't think that does what you think it does. As an experiment, try to get the first element of the List you've created with Arrays.asList(), and print it out. What is it? Is it what you expected? I think it will not be. This is an unfortunate side effect of having too many overloads.
For comparison, Google's Guava library offers
Ints.asList(int...), which I think does exactly what you want. Google does a good job of finding and plugging holes like this in the APIs.