„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann eine Java-Methode einen einzigen Rückgabetyp haben, aber scheinbar zwei?

Wie kann eine Java-Methode einen einzigen Rückgabetyp haben, aber scheinbar zwei?

Veröffentlicht am 22.11.2024
Durchsuche:714

How Can a Java Method Have a Single Return Type But Appear to Have Two?

Generika in Java-Methoden verstehen

Das Vorhandensein mehrerer „Rückgabetypen“ in einer Java-Methodendefinition kann rätselhaft erscheinen. Schauen wir uns ein Beispiel an:

public  List getResult(String s);

wobei Foo eine von Ihnen definierte Klasse ist.

Frage: Was ist der Rückgabetyp dieser Methode?

Antwort: Diese Methode hat einen einzigen Rückgabetyp: List.

Frage: Warum scheint es zwei Rückgabetypen zu geben?

Antwort: Die Methode nutzt Generika, eine leistungsstarke Funktion in Java, die die Erstellung von Methoden ermöglicht, die mit verschiedenen Typen arbeiten, indem Typparameter verwendet werden. In diesem Fall:

  • : Dieser Teil deklariert einen generischen Typ für die Methode. Das bedeutet, dass die Methode jeden Typparameter E akzeptieren kann, der eine Unterklasse von Foo ist.
  • List: Dies ist der tatsächliche Rückgabetyp der Methode. Sie gibt eine Liste von Objekten vom Typ E zurück, die jede Unterklasse von Foo sein können.

Im Wesentlichen deklariert die Methode, dass sie mit jedem Typ arbeiten kann, der Foo erweitert, und gibt eine Liste solcher Typen zurück . Dies bietet Flexibilität und Typsicherheit und stellt sicher, dass die zurückgegebene Liste nur Objekte enthält, die Unterklassen von Foo sind.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3