A voir également:
- Les annotations des classe
- Comment savoir sa classe en avance ✓ - Forum Loisirs / Divertissements
- Retrouver la liste des élèves d'une classe - Forum Internet / Réseaux sociaux
- Impossible de trouver ou charger la classe principale @user_jvm_args.txt ✓ - Forum Internet / Réseaux sociaux
- Meilleur classe mw2 - Forum Jeux vidéo
- Comment trouver les ancienne photo de classe ✓ - Forum Loisirs / Divertissements
2 réponses
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 004
13 avril 2012 à 14:42
13 avril 2012 à 14:42
Visiblement le programme ne rentre pas dans la boucle if, il faudrait rajouter un affichage pour savoir s'il rentre ou non dans la boucle for et un autre pour savoir ce qui se passe avec la annotations :
for(Class<?> classe : Test.class.getClasses())
{
System.out.println(classe);
System.out.println(classe.getAnnotations().length);
if (classe.isAnnotationPresent(Test.states.class))
{
Test.states a1= (states) classe.getAnnotation(Test.states.class);
return a1.statesName();
}
}
Une autre question svp
dans ma classe Test j'ai un ensemble des classes annotés (la question précédente) et dans chaque classe un ensemble des méthodes annotés je fait la même chose pour les méthodes, je veux trouver toutes les méthodes annotés: mais cela ne marche pas (même j'ai essayé de parcourir toutes les classes dans la classe Test puis toutes les méthodes de chaque classe mais la même chose ça retourne un null)
try
{
for (Method m : Test.class.getMethods())
{
if (m.isAnnotationPresent( Test.action.class))
{
Test.action a = m.getAnnotation(Test.action.class);
String s = a.actionName();
System.out.println(s);
actions.add(s);
}
}
}
dans ma classe Test j'ai un ensemble des classes annotés (la question précédente) et dans chaque classe un ensemble des méthodes annotés je fait la même chose pour les méthodes, je veux trouver toutes les méthodes annotés: mais cela ne marche pas (même j'ai essayé de parcourir toutes les classes dans la classe Test puis toutes les méthodes de chaque classe mais la même chose ça retourne un null)
try
{
for (Method m : Test.class.getMethods())
{
if (m.isAnnotationPresent( Test.action.class))
{
Test.action a = m.getAnnotation(Test.action.class);
String s = a.actionName();
System.out.println(s);
actions.add(s);
}
}
}
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 004
13 avril 2012 à 17:26
13 avril 2012 à 17:26
En faisant Test.class.getMethods() tu récupères les méthodes de la classe Test, or si j'ai bien compris ce sont les méthode des classes dans Test qui t'intéresse !
for (Class<?> classe : Test.class.getClasses())
for (Method m : classe.getMethods())
{
// ...
}
oui j'ai essayé cela (c sure que j'ai commis une faute )voilà:
for (Class<?> c : Test.class.getClasses())
for(Method m: c.getMethods())
{
if (m.isAnnotationPresent( Test.action.class))
{
Test.action a = m.getAnnotation(Test.action.class);
String s = a.actionName();
System.out.println(s);
actions.add(s);
}
for (Class<?> c : Test.class.getClasses())
for(Method m: c.getMethods())
{
if (m.isAnnotationPresent( Test.action.class))
{
Test.action a = m.getAnnotation(Test.action.class);
String s = a.actionName();
System.out.println(s);
actions.add(s);
}
13 avril 2012 à 14:57
13 avril 2012 à 15:04
13 avril 2012 à 15:08
je pense qu'il faut ajouter target: class ici:
@Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
nn?
13 avril 2012 à 15:33
@Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)