Either:
1. where you said this did not appear on my machine
2. You said it in such a way I did not understand what you meant.
3. I unconsciously skipped over reading because of I find your prose
too dense.
Aye aye, that can happen.
You making a mountain out of a molehill. I discovered what I
discovered independently of what you said. That happens all the time
in science. If you are worried about credit, you get it because you
"published" first.
Well, I questioned you because I felt ignored, and after doing that I
couldn't back out now could I?

I'm not worried about credit, I just
hate being ignored. Maybe it's like when you're with friends and you
say hey let's go to the movies and they all look at you with blank
eyes for a second and then continue discussing what they were
discussing and then five minutes later one of them says, hey let's go
to the movies and they all say yeah great idea. Something like that.
Even on rereading I still don't see where you explained the strange
behaviour of creating an ArrayList whose first element is an array
without error or warning.
Okay, I'll see if I can improve things, given that you said
Your prose is equally opaque
to me. I have always marveled at the ability of ordinary Germans to
parse those giant page-long sentences. I take it you have that skill
too since Dutch and German come from the same roots.
I must say I have read Kant in German and I found it equally hard to
digest his sentences. Especially because I didn't understand many of
the words so I had to look them up. But when I had looked them up, I
had lost track of the rest of the sentence, so I had to start all over
again! I don't really know if Dutch people also do that, I've never
had trouble with anyone's sentence, but I guess it is very well
possible (am I doing it right now?

).
Okay, back to my explanation.
I don't see any long sentences in it, actually. I will refrase it, and
then I want you to give your opinion, if you will.
Arrays.asList() tries to instantiate an ArrayList on the specified
array but an ArrayList can never be backed by an int[].
If you call asList() on an int[], you will get a List<int[]> with one
element: the int[] you supplied. If you call shuffle on that list,
nothing will change in the int[].
You don't get an error because the parameter for asList is a "T... a".
If you call it with a T[], that array is passed.
If you call it with an array of a primitive type, then it cannot be
treated as a T[] because generic types cannot be primitives. Instead,
because int[] itself is an object, it matches the T in the signature
and is wrapped inside an array. So what actually gets passed is not
your int[], but an array of int[] with one element.
There is no way for the compiler to generate an error.
And why should ArrayList(T... t) complain? An int[] is a valid type
parameter.
Perhaps the compiler should generate a warning if you pass an array of
primitive to a generic dynamic array parameter.
Anyway, you can only solve it by using an Integer[] instead of an
int[].
What you are trying to do with the call to asList() is to create a
List that internally uses the array that you supply, as its data
store. That way, you can modify the array by using List operations,
or, put differently, modify the List and have the changes 'write
through' to your original array.
This always works for arrays of any Object type, such as arrays of
Integer. The actual method signature for asList is »asList(T... a)«.
This means you can pass a variable amount of arguments to this
function. You could call it with asList("boy","girl","sister") or
asList("just one argument"). Internally however, all of these
parameters are wrapped inside an array, and the actual call becomes:
asList( new String[] { "boy", "girl", "sister" } ). You can also just
pass such a array directly, which is most likely how you'd use
asList(). There is only one caveat: the type of the parameter, and as
such, the type of the elements of the array, must conform to the
generic type variable »T«. But only object types can match a generic
type. You cannot match a »T« with any primitive type, such as »int«.
So what happens when you call asList() on an int array? First the
compiler tries to match T with int, but that doesn't work. However,
there is another option open to the compiler: it can match T with
int[]. That's right, array of int becomes the type T. As such, this
int[] is the single parameter to asList(), and it gets wrapped inside
an array, like all single parameters that are not already an array of
an object-type. This single element array with type signature int[][]
is then used as the backing for a new ArrayList. That means that the
List that you get, has a single element: the int[] you originally
supplied!
It should be clear that calling shuffle() on this List will only
effect the encapsulating array and will do nothing to the int[] that
is kept inside.