hi,
following are few rules to remember,
1)array of any data type (primitive/object references ) can be assigned to a reference variable of type Object class, since array itself is an Object by inheritence.
2) however, If an array is assigned to another array, then the rules are,
the data type of the array on the right side of assignment operator must be compile-time type convertible with the data type of the left side array.
==> for reference data types it must be a subclass or same class, implements the Interface or a sub-interface if left side array is of some
Java Interface type
==> for primitives, it must be of same data type or allows safe type conversion
==> primitive to object are never type compatible, same in vice versa case