In Java, all classes (built-in or user-defined) are (implicitly) subclasses of Object . Using an array of Object in the List class allows any kind of Object (an instance of any class) to be stored in the list. However, primitive types (int, char, etc) cannot be stored in the list.
Read more