有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

泛型之间有什么区别?Java中的(通配符)和类型参数

有人能解释一下这两种方法的区别吗?它们是一样的吗?在我看来,它们解决的问题是一样的。如果它们是相同的,为什么需要?

方法#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();
}

共 (0) 个答案