Unterschied zwischen ? (Platzhalter), und Geben Sie Parameter in Java

Kann jemand mir erklären, was der Unterschied ist zwischen diesen beiden Methoden? Sind Sie gleich? Aussehen tun Sie gleich zu mir in Bezug auf das, was Sie lösen. Wenn Sie gleich sind, warum brauchen ??

Methode #1, Unbegrenzte

public static void printList(List<?> list) {
    for (Object elem : list)
        System.out.println(elem + " ");
    System.out.println();
}

Methode #2, Unbounded:

public static <T> void printList(List<T> list) {
    for (Object elem : list)
        System.out.println(elem + " ");
    System.out.println();
}

Methode #1, Begrenzt

public static void printList(List<? extends Number> list) {
    for (Object elem : list)
        System.out.println(elem + " ");
    System.out.println();
}

Methode #2, Begrenzt:

public static <T extends Number> void printList(List<T> list) {
    for (Object elem : list)
        System.out.println(elem + " ");
    System.out.println();
}
  • Ich weiß, aber meine Frage ist über Generika in Methoden.
  • Die Antwort liegt auf halbem Weg nach unten dieses tutorial.
  • Können Sie bitte schreiben Sie eine eigentliche Antwort statt Kommentar, so dass ich annehmen kann, Ihre Antwort, da es die Antwort, die ich gesucht habe.
  • Jason C wohl besser gesagt, als ich hätte. Viel Glück!
InformationsquelleAutor Tarik | 2013-08-14
Schreibe einen Kommentar