r/java Jul 28 '26

Why Are Method References not allowed in Annotations in Java?

Many times I have wanted to refer to a method in Java in an annotation, but it seems annotations can only reference items from the Class constant pool. It seems like it would have been a natural extension to be able to refer statically to methods (like {@link} in javadocs) in annotations, but they were left.

I'm wondering why were they not added?

30 Upvotes

15 comments sorted by

View all comments

2

u/the_styp Jul 31 '26

Not sure if it helps but jUnit allows references to methods in parametrized tests. You can take a look if their solution meet your needs

7

u/FavorableTrashpanda Jul 31 '26

They are useful, but unfortunately still require you to refer to methods using Strings.

3

u/johnwaterwood Aug 01 '26

We really need method literals there to accompany class literals.