Warum kann List hier der Liste zugewiesen werden?Java

Java-Forum
Anonymous
 Warum kann List hier der Liste zugewiesen werden?

Post by Anonymous »

Ich verstehe, dass Java im Allgemeinen invariant ist, da es sich nicht mit Problemen der Co/Contra-Varianz befassen will.

Code: Select all

List a = new ArrayList();
erfordert einen Typ-Erase-ähnlichen, der über (Liste) funktioniert.

Code: Select all

List p = Collections.singletonList();
funktioniert wie ohne Guss, obwohl er behauptet, eine Liste zu erhalten über die Dokumentation. />
  • Es schließt den Rückgabetyp basierend auf dem, was er zugeordnet wird,

    Es könnte beispielsweise so tun, funktioniert zumindest etwas so, in Bezug auf Inferenz < /li>
    < /ul>
    < /li>
    Es gibt nur eine Liste zurück < /code> type-erzeugt. Beispiel

Was genau ist hier vor und warum ist es in diesem Szenario in Ordnung, bei einer Funktion mit Generika, aber nicht mit Zuweisung im Allgemeinen?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post