2016-05-28 10 views
4

Innerhalb JLS Capture Conversion bespricht es zwei Möglichkeiten, um die Unterzeichnung der reverse Methode zu schreiben:Gibt Implementierungsinformationen für den Aufrufer frei?

  1. public static void reverse(List<?> list);
  2. public static <T> void reverse(List<T> list);

    Meine Frage ist warum die zweiten Implementierung Informationen zum Anrufer aussetzt? Speziell im Beispiel wird gesagt, dass die zweite unerwünscht ist, da sie dem Aufrufer Informationen zur Implementierung zur Verfügung stellt.

+0

Ich denke, sie bedeuten, dass die Entwickler wissen, dass "reverse" tatsächlich über 'rev' implementiert wird, es muss sowieso eine bessere Antwort geben :( – niceman

Antwort

0

Liste <? > werden Elemente vom Typ Object zurückgeben, wenn sie durch den Lyst durchlaufen. (ZB: lyst.get (..))

Liste <T> werden Elemente des Typs T. Rückkehr

Dies hilft nicht benötigte Informationen für diejenigen zu verbergen Umsetzung/die Schnittstellen.

Verwandte Themen