Cette fois, il est reproductible. Il semble que la même annotation puisse être écrite plusieurs fois au même endroit. Échantillonner immédiatement
/**
*Annotation personnalisée appropriée.
*Dans le sens de déclarer que Sake List apparaîtra à plusieurs reprises en passant@Répétable est joint.
* @author komikcomik
*
*/
@Repeatable(SakeList.class)
public @interface Sake {
String name();
}
/**
*Annotation personnalisée appropriée.
*J'ai un tableau de Sake, ce qui me permet d'utiliser l'annotation sake à plusieurs reprises.
* @author komikcomik
*
*/
@Retention(RetentionPolicy.RUNTIME)
public @interface SakeList {
Sake[] value();
}
Comme je l'ai écrit dans le commentaire, c'est une image qui déclare que plusieurs Sake apparaîtront du côté SakeList en écrivant @Repeatable (SakeList.class) du côté Sake. On a l'impression que le côté SakeList a également un tableau Sake qui lui correspond. De plus, si le nom de la méthode n'est pas value, j'ai une erreur de compilation.
Donc, un exemple d'utilisation de ceux-ci.
import java.lang.annotation.Annotation;
@Sake(name = "Midori")
@Sake(name = "Ichigin")
@Sake(name = "Ryusen Yae Sakura")
/**
*Étudier répétable.
* @author komikcomik
*
*/
public class SakeListUser {
public static void main(String[] args) {
Annotation[] anoList = SakeListUser.class.getAnnotationsByType(Sake.class);
for (int i = 0; i < anoList.length; i++) {
System.out.println(anoList[i]);
}
}
}
Résultat d'exécution
@java8.repeatable.Sake(name=Midori)
@java8.repeatable.Sake(name=Ichigin)
@java8.repeatable.Sake(name=Ryusen Yae Sakura)
Je ne veux retirer que le dos de name =, mais je ne savais pas trop comment faire ...
2017/10/16 postscript Ce sera le contenu que vous m'avez dit dans la section des commentaires tel quel, mais il semble que vous pouvez l'obtenir en faisant ce qui suit.
Sake[] Sakes = SakeListUser.class.getAnnotationsByType(Sake.class);
for (int i = 0; i < Sakes.length; i++) {
// Sake#name()Peut être appelé comme méthode
System.out.println(Sakes[i].name());
}
Une fois exécuté, ce sera comme suit. Agréable!
Midori
Ichigin
Ryusen Yae Sakura
Recommended Posts