Wie bekomme ich Anmerkungen zu einer Kotlin-Eigenschaft von Java?

8

Ich habe eine Kotlin-Klasse, deren Eigenschaften eine Java-Annotation haben, aber ich kann diese Annotationen nicht mit Java-Reflektion umgehen:

%Vor%

Der folgende Test gibt null aus:

%Vor%

Wie kann ich die Anmerkungen einer bestimmten Kotlin-Eigenschaft erhalten?

    
Ricardo Meneghin Filho 12.02.2017, 23:53
quelle

2 Antworten

4

Aus der Referenz von Kotlin :

  

Wenn Sie eine Eigenschaft oder einen primären Konstruktorparameter kommentieren, gibt es mehrere Java-Elemente, die aus dem entsprechenden Kotlin-Element generiert werden, und daher mehrere mögliche Positionen für die Annotation im generierten Java-Bytecode.

In diesem Fall möchten Sie das Feld mit Anmerkungen versehen, sodass Ihre Eigenschaftsdeklaration wie folgt aussehen sollte:

%Vor%

Ihr Konstruktor würde wie folgt aussehen:

%Vor%     
Vince Emigh 13.02.2017, 05:22
quelle
5

Wie in einer anderen Antwort erwähnt, möchten Sie wahrscheinlich das Feld anstelle der Eigenschaft annotieren. Für den Fall, dass Sie die Eigenschaft wirklich mit Anmerkungen versehen müssen, können Sie die Anmerkungen über Kotlin reflection finden:

%Vor%     
Alexander Udalov 13.02.2017 07:36
quelle

Tags und Links