之间的区别是什么?
public static <T extends MyObj> ArrayList<T> generateRandomList(int count);
和
public static ArrayList<? extends MyObj> generateRandomList(int count);
因为他们表现得不同。
第一个选项无法编译以下行
ArrayList<MyObjSuccessor> myObj = Util.generateRandomList(2);
第二个选项导致我的编译调用。
答案 0 :(得分:1)
假设MyObjSuccessor extends MyObj
...
ArrayList<MyObjSuccessor>
(风险自负)。 Util
类中共存,因为它们具有相同的签名。