KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I think I'm missing something basic here. Any explanation or pointers to previously asked questions will be very helpful. import java.util.Arrays; import java.util.List; public class St { public static void bla(Object[] gaga) { gaga[0] = new Date(); // throws ArrayStoreException System.out.println(gaga[0]); } public static void bla(List<Object> gaga) { System.out.println(gaga.get(0)); } public static void main(String[] args) { String[] nana = { "bla" }; bla(nana); // Works fine List<String> bla1 = Arrays.asList(args); bla(bla1); // Wont compile System.out.println(new String[0] instanceof Object[]); // prints true System.out.println(nana.getClass().getSuperclass().getSimpleName()); // prints Object } } So, it seems like a List<String> is not a subclass of a List<Object> but a String[] is a subclass of Object[] . Is this a valid assumption? If so, why? If not, why? Thanks
Tags (comma-separated)
Save Edits
Cancel