Get value of a parameter of an annotation in Java

大兔子大兔子 提交于 2019-11-28 10:42:14
harsh

To get value of the @Path parameter:

String path = Hello.class.getAnnotation(Path.class).value();

Similarly, Once you have hold of Method getHtml

Method m = Hello.class.getMethod("getHtml", ..);
String mime = m.getAnnotation(Produces.class).value;

The annotation is based on interface logic. You need to call the valid member of it to retrieve the value.

Definition

public @interface Produces {
 String type();
}

Read example

for (Method m: SomeClass.class.getMethods() {
   Produces produce = m.getAnnotation(Produces.class);
   if (produce != null)
       System.out.println(produce.type());
}

Yes. You must use reflection to access to method definition. You can use Class#MgetMethods() to get the definition of method

For object you call obj.getClass() to get the class definition.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!