Java 8 studieren (wiederholbar)

Diesmal ist es wiederholbar. Es scheint, dass dieselbe Anmerkung mehrmals an derselben Stelle geschrieben werden kann. Sofort probieren

/**
 *Angemessene selbst erstellte Anmerkung.
 *Im Sinne der Erklärung, dass Sake List übrigens immer wieder auftaucht@Wiederholbar ist beigefügt.
 * @author komikcomik
 *
 */
@Repeatable(SakeList.class)
public @interface Sake {
	String name();

}
/**
 *Angemessene selbst erstellte Anmerkung.
 *Ich habe eine Reihe von Sake, mit denen ich die Sake-Annotation wiederholt verwenden kann.
 * @author komikcomik
 *
 */
@Retention(RetentionPolicy.RUNTIME)
public @interface SakeList {
	Sake[] value();
}

Wie ich im Kommentar geschrieben habe, ist es ein Bild, das erklärt, dass mehrere Sake auf der SakeList-Seite erscheinen, indem @Repeatable (SakeList.class) auf der Sake-Seite geschrieben wird. Es fühlt sich so an, als hätte die SakeList-Seite auch ein entsprechendes Sake-Array. Wenn der Methodenname kein Wert ist, wurde ein Kompilierungsfehler angezeigt.

Ein Beispiel für die Verwendung dieser.

import java.lang.annotation.Annotation;

@Sake(name = "Midori")
@Sake(name = "Ichigin")
@Sake(name = "Ryusen Yae Sakura")
/**
 *Wiederholbar studieren.
 * @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]);
		}
	}

}

Ausführungsergebnis

@java8.repeatable.Sake(name=Midori)
@java8.repeatable.Sake(name=Ichigin)
@java8.repeatable.Sake(name=Ryusen Yae Sakura)

Ich möchte nur die Rückseite des Namens herausnehmen =, aber ich war mir nicht sicher, wie ich das machen soll ...

2017/10/16 postscript Es wird der Inhalt sein, den Sie mir im Kommentarbereich so wie er ist gesagt haben, aber es scheint, dass Sie ihn erhalten können, indem Sie die folgenden Schritte ausführen.

		Sake[] Sakes = SakeListUser.class.getAnnotationsByType(Sake.class);
		for (int i = 0; i < Sakes.length; i++) {
		    // Sake#name()Kann als Methode aufgerufen werden
		    System.out.println(Sakes[i].name());
		}

Bei der Ausführung ist dies wie folgt. Nett!

Midori
Ichigin
Ryusen Yae Sakura

Recommended Posts

Java 8 studieren (wiederholbar)
Lassen Sie uns Java studieren
[Java] Studiennotizen
Java-Studienmemorandum
Studieren Sie Java Silver 1
Java Silver Study Day 1
Java # 1 studieren (typischer Typ)
Meine Studiennotiz (Java)
Studiere Java # 2 (\ mark and operator)
Studieren Sie Java-Array, Liste, Karte
Java Silver Lernmethode Memo
Studieren Sie Java # 7 (Art der Verzweigungssyntax)
Java
Java
Lernen von Java mit Progate Note 1
So lernen Sie Java Silver SE 8
Zusammenfassung des Pakets [Java Silver Study]
[Inhouse-Studiensitzung] Behandlung von Java-Ausnahmen (26.04.2017)
[Memo zur Studiensitzung] Java Day Tokyo 2017
Java # 4 studieren (bedingte Verzweigung / if-Anweisung)
Orcacla Java Bronze SE 7/8 Qualifikationsstudie
Studieren Sie Java # 5 (Wiederholung und Endlosschleife)
Lernen Sie Deep Learning von Grund auf in Java.
Java lernen (0)
Java studieren ―― 3
[Java] -Array
Zusammenfassung der internen Rookie-Lernsitzung [Java]
Java geschützt
[Java] Anmerkung
[Java] Modul
Java-Array
Java studieren ―― 9
Java Scratch Scratch
Java-Tipps, Tipps
Java-Methoden
Java-Methode
Java (Konstruktor)
Java-Array
[Java] ArrayDeque
Java (überschreiben)
Java (Methode)
Java-Zeichenfolge
Java (Array)
Java-Serialisierung
Java Anfänger 4
JAVA hat bezahlt
Java studieren ―― 4
Java (gesetzt)
Java-Shell-Sortierung
[Java] compareTo
Java studieren -5
[Java ~ Informationen zur Variablendefinition und Typkonvertierung ~] Studiennotiz
Java reflektierend 获 获 举
Java (Schnittstelle)
Java-Memorandum
Java-Array
Java studieren ―― 1