Maison > Java > javaDidacticiel > Exemple de méthode pour obtenir le nom du paramètre dans Java 8

Exemple de méthode pour obtenir le nom du paramètre dans Java 8

高洛峰
Libérer: 2017-01-22 11:03:34
original
2171 Les gens l'ont consulté

Avant-propos

Dans les versions antérieures à Java 8, une fois le code compilé dans un fichier de classe, les types de paramètres de méthode sont fixes, mais les noms de paramètres sont perdus, ce qui contraste fortement avec les langages dynamiques. qui dépendent fortement du contraste des noms de paramètres. Désormais, Java 8 commence à conserver les noms de paramètres dans les fichiers de classe, ce qui apporte une grande commodité à la réflexion.

Exemple :

public class GetRuntimeParameterName {
 
 public void createUser(String name, int age, int version) {
  //
 }
 
 public static void main(String[] args) throws Exception {
  for (Method m : GetRuntimeParameterName.class.getMethods()) {
   System.out.println("----------------------------------------");
   System.out.println(" method: " + m.getName());
   System.out.println(" return: " + m.getReturnType().getName());
   for (Parameter p : m.getParameters()) {
    System.out.println("parameter: " + p.getType().getName() + ", " + p.getName());
   }
  }
 }
}
Copier après la connexion

Method.getParameters est une nouvelle méthode pour la version 1.8, qui peut obtenir des informations sur les paramètres, y compris les noms des paramètres.

Les paramètres createUser générés par le code ci-dessus sont les suivants :

method: createUser
 return: void
parameter: java.lang.String, name
parameter: int, age
parameter: int, version
Copier après la connexion

Les noms de paramètres sont compilés dans le fichier de classe, remplaçant les arg0, arg1 dénués de sens. .. …

Pour de nombreux frameworks qui s'appuient sur des noms de paramètres, le code peut être encore simplifié :

@Path("/groups/:groupid/:userid")
public User getUser(String groupid, String userid) {
 ...
}
Copier après la connexion

Lorsqu'il n'y a pas de noms de paramètres, les annotations doivent être ajouté :

@Path("/groups/:groupid/:userid")
public User getUser(@Param("groupid") String groupid, @Param("userid") String userid) {
 ...
}
Copier après la connexion

Malheureusement, l'option permettant de conserver les noms de paramètres est activée par le commutateur de compilation javac -parameters et est désactivée par défaut.

Dans Eclipse, vous pouvez l'ouvrir via l'option Compilateur :

Java 8中如何获取参数名称的方法示例

Remarque : Cette fonction doit compiler le code dans la classe version 1.8.

Résumé

Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article pourra être utile aux études ou au travail de chacun. Si vous avez des questions, vous pouvez partir. un message à communiquer.

Pour plus d'articles sur la façon d'obtenir les noms de paramètres dans Java 8, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal