注釈値を取得しようとしています。これは私のシナリオです。Javaの汎用インターフェースの注釈値を取得する
これは私が宣言した注釈です。
@Retention(RetentionPolicy.RUNTIME)
public @interface PluginMessage {
String name();
String version();
}
これは、次のコードスニペットで使用される汎用的なインタフェースであり、いくつかの値に対してアノテーションを使用
@PluginMessage(name = "RandomName", version = "1")
public class Response{
private Date Time;
}
クラスです。
public interface ResponseListener<E> {
void onReceive(E response);
}
私は、次のコードを呼び出すことによって、これを起動します。
addListener(new ResponseListener<Response>() {
@Override
public void onReceive(Response response) {
System.out.println();
}
});
これはaddListenerメソッドの実装です:
public <E> void addListener(ResponseListener<E> responseListener) {
Annotation[] annotations = responseListener.getClass().getAnnotations();
}
注釈が常に空になっているか、何Iの任意のアイデア間違っている?私はここで彼らの価値を得ようとしています。
ResponseListenerには注釈がありません。応答はありません.2つの間には関係はありません。 – pczeus