When I do the following,
arrayList1
int[]
arrayList2
Because int[] and Integer[] both are objects. First will hold primitive int values, which are not of type Object while second will store references of Integer objects, which are of type Object.
Integer[]
int
Object
Integer