J'écris un doculet extension com.sun.javadoc.doclet.
Lorsque je veux demander de documenter une arrayliste comme champ d'une méthode, je souhaite obtenir le type de générique (par exemple, lors de la documentation d'un Je ne suis que capable d'obtenir les informations, qu'il s'agit d'une arraylist. Même lorsque vous appelez p> je ne reçois que java.util.arraylist em> et non le type de générique. P> fait Quelqu'un sait comment obtenir le type générique de la liste? p> Voici l'exemple de code: p> ArrayList
4 Réponses :
En supposant que le tableau est un champ de membre de votre classe, il ressemble à ce qui suit Réponse fournira ce dont vous avez besoin.
Un extrait du code de cette réponse montre l'idée générale (mais jetez un coup d'œil à cette question / réponse): p>
Encore une fois, les doclets fonctionnent sur la source et non le code compilé. La réflexion n'est pas la voie à suivre
pourrait-il être que la sortie est Vous devrez échapper au Si ce n'est pas le problème, affichez suffisamment de code afin que nous puissions reproduire le problème. < / p> Après avoir vu votre exemple, je pouvais la reproduire avec ce docuté: p> la sortie, si elle est appliquée sur elle-même: p> < Pré> xxx pré> Il montre que les types de retour aussi semblent être paramètres ici. P> Je voulais dire que j'ai déjà utilisé cette méthode pour Mais cela doit être possible, depuis quelque manière que ce soit le doculet standard manges pour créer la bonne sortie . P> p> java.util.arraylist
<< / code> pour la sortie HTML. P>
Je ne pense pas que l'évasion manquante de << / code> est le problème. Actuellement, je débogage de l'outil de documentation à Eclipse. Pour vous donner plus de code: je suis itération à travers un tableau d'éléments de FieldDoc [] et vérifiez s'il s'agit d'un type paramétré (voir post suivant). Est-ce que quelqu'un connaît une solution? Je pense qu'il doit y avoir un moyen de documenter le type générique d'une liste ....
Voici quelques champs de code: FieldDoc [] = Classdoc.fields (); pour (int k = 0; k
J'ai ajouté votre code à la question, il est beaucoup plus facile de lire de cette façon (et moins susceptibles d'être manqués).
Je rencontrais des génériques en train de perdre des types lors de la rédaction d'un doculet personnalisé sous Java 1.6. J'ai été capable de le réparer en ajoutant la méthode ci-dessous à mon docut.
/** * NOTE: Without this method present and returning LanguageVersion.JAVA_1_5, * Javadoc will not process generics because it assumes LanguageVersion.JAVA_1_1 * @return language version (hard coded to LanguageVersion.JAVA_1_5) */ public static LanguageVersion languageVersion() { return LanguageVersion.JAVA_1_5; }
Tu as fait ma journée. Il m'a fallu 2 mois pour trouver cette information dans le World Wide Web.
Après avoir activé le mode Java 1.5 avec la réponse de Trex, vous pouvez accéder aux types génériques de fieldtype code> à l'aide de
Quel est le champ d'une méthode i>? Un paramètre de méthode?