Java does not support creating a collection out of primitives, so following construct gives compilation error ("The argument can not be of primitive type):
List<int> ints = new ArrayList<int>();
On the other hand creating a collection of arrays or primitives is allowed, so following construct is ok:
List<int[]> ints = new ArrayList<int[]>();
What is a logic behind this?
Edit: The question is really about the array of primitives, not the primitives, so please don't explain me why can't I store primitives in collection, but rather why can I story array of primitives inside a collection?