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()); } } } }
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
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) { ... }
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) { ... }
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 :
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 !