有人可以解释一下这两种方法有什么区别吗?他们是一样的吗?就解决的问题而言,它们在我看来确实相同。如果它们相同,为什么需要?
?
方法#1,无界
public static void printList(List<?> list) {
for (Object elem : list)
System.out.println(elem + " ");
System.out.println();
}
方法#2,无界:
public static <T> void printList(List<T> list) {
for (Object elem : list)
System.out.println(elem + " ");
System.out.println();
}
方法#1,有界
public static void printList(List<? extends Number> list) {
for (Object elem : list)
System.out.println(elem + " ");
System.out.println();
}
方法#2,有界:
public static <T extends Number> void printList(List<T> list) {
for (Object elem : list)
System.out.println(elem + " ");
System.out.println();
}