亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java如何獲取方法上的注解

小億
170
2023-09-20 17:34:39
欄目: 編程語言

要獲取方法上的注解,可以使用Java的反射機制。以下是一種常見的方法:

  1. 首先,使用Class類的getMethodgetDeclaredMethod方法獲取要獲取注解的方法。getMethod方法可以獲取公共方法,而getDeclaredMethod方法可以獲取所有方法,包括私有方法。
Class<?> clazz = MyClass.class;
Method method = clazz.getDeclaredMethod("myMethod");
  1. 然后,使用Method類的getAnnotation方法獲取方法上的注解。getAnnotation方法接收一個注解的類型作為參數,并返回該注解的實例。如果方法上沒有該注解,getAnnotation方法將返回null
MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
  1. 最后,可以通過注解對象的方法來獲取注解的屬性值。
String value = annotation.value();

完整的示例代碼如下:

import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface MyAnnotation {
String value();
}
class MyClass {
@MyAnnotation("Hello")
public void myMethod() {
// 方法體
}
}
public class Main {
public static void main(String[] args) throws NoSuchMethodException {
Class<?> clazz = MyClass.class;
Method method = clazz.getDeclaredMethod("myMethod");
MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
String value = annotation.value();
System.out.println(value); // 輸出:Hello
}
}

需要注意的是,注解的保留策略需要設置為RetentionPolicy.RUNTIME,才能在運行時通過反射獲取到注解。

0
清苑县| 台南县| 新兴县| 巴彦淖尔市| 合作市| 罗甸县| 庐江县| 尉犁县| 广德县| 绿春县| 甘南县| 民权县| 湟中县| 上饶市| 唐河县| 图木舒克市| 漳平市| 永泰县| 梁平县| 贺州市| 广安市| 永宁县| 张掖市| 江陵县| 当涂县| 成安县| 高雄县| 三台县| 武鸣县| 五台县| 临潭县| 平武县| 大同市| 南投县| 安阳市| 阿勒泰市| 乌兰县| 西和县| 巴彦县| 蕉岭县| 农安县|