中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
阜新| 阳东县| 商城县| 天峻县| 湖口县| 荣昌县| 连山| 雷波县| 遵化市| 苗栗市| 治多县| 那坡县| 大同市| 织金县| 万全县| 扬州市| 遂宁市| 镇雄县| 双辽市| 栖霞市| 息烽县| 工布江达县| 长春市| 都昌县| 新昌县| 巴彦县| 准格尔旗| 柏乡县| 城步| 武隆县| 武城县| 通榆县| 潜山县| 五原县| 仁布县| 正阳县| 青田县| 特克斯县| 原阳县| 凉山| 明溪县|