Accessing type annotations at runtime

Joe Darcy joe.darcy at
Thu Mar 13 14:39:34 UTC 2014


See the methods in java.lang.reflect named "getAnnotedFoo" which return 
java.lang.reflect.AnnotedType or a subinterface.


On 3/13/2014 6:24 AM, Gunnar Morling wrote:
> Hi,
> Is it possible to retrieve type annotations (as defined by JSR 308) using
> reflection at runtime? E.g. I would like to retrieve the @NotNull
> annotation from a member declared like this:
>      private List<@NotNull String> names;
> I assumed that this would be possible using reflection, but I couldn't find
> a way to do it. Is there an example for this somewhere? Or are type
> annotations only meant to be accessed by compile-time tools such as the
> Checker framework?
> I noticed that the byte code of my class contains information about the
> annotation, so I guess one could access it by examining the class file if
> it's really not possible via the reflection API.
> Many thanks,
> --Gunnar

More information about the core-libs-dev mailing list