91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
东丰县| 宜章县| 利川市| 泰和县| 蓬溪县| 安西县| 平利县| 湘乡市| 开封市| 历史| 石阡县| 沙洋县| 论坛| 于都县| 金昌市| 永胜县| 肃北| 托克托县| 安龙县| 玉环县| 罗田县| 县级市| 杭锦旗| 库伦旗| 五大连池市| 尼勒克县| 蚌埠市| 泗水县| 邹平县| 太和县| 南阳市| 永泰县| 普兰店市| 南陵县| 吴忠市| 临泽县| 宜都市| 德化县| 会泽县| 扎兰屯市| 玛多县|