"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment une méthode Java peut-elle avoir un seul type de retour mais sembler en avoir deux ?

Comment une méthode Java peut-elle avoir un seul type de retour mais sembler en avoir deux ?

Publié le 2024-11-22
Parcourir:708

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

Comprendre les génériques dans les méthodes Java

La présence de plusieurs « types de retour » dans une définition de méthode Java peut sembler déroutante. Examinons un exemple :

public  List getResult(String s);

où Foo est une classe que vous avez définie.

Question : Quel est le type de retour de cette méthode ?

Réponse : Cette méthode a un seul retour type : List.

Question : Pourquoi semble-t-il avoir deux types de retour ?

Réponse : La méthode utilise generics, une fonctionnalité puissante de Java qui permet de créer des méthodes fonctionnant avec différents types à l'aide de paramètres de type. Dans ce cas :

  •  : Cette partie déclare un type générique pour la méthode. Cela signifie que la méthode peut accepter n'importe quel paramètre de type E qui est une sous-classe de Foo.
  • List : Il s'agit du type de retour réel de la méthode. Elle renvoie une liste d'objets de type E, qui peuvent être n'importe quelle sous-classe de Foo.

En substance, la méthode déclare qu'elle peut fonctionner avec n'importe quel type qui étend Foo et renvoie une liste de ces types. . Cela offre flexibilité et sécurité de type, garantissant que la liste renvoyée contient uniquement des objets qui sont des sous-classes de Foo.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3