analysisapp.java

来自「有关java学习技巧的课件」· Java 代码 · 共 39 行

JAVA
39
字号
package onlyfun.caterpillar;

import java.lang.annotation.Annotation;
import java.lang.reflect.Method;

public class AnalysisApp {
    public static void main(String[] args) 
                               throws NoSuchMethodException {
        Class<SomeClass3> c = SomeClass3.class;

        // 因为SomeAnnotation标示于doSomething()方法上
        // 所以要取得doSomething()方法的Method实例
        Method method = c.getMethod("doSomething");

        // 如果SomeAnnotation存在的话
        if(method.isAnnotationPresent(SomeAnnotation.class)) {
            System.out.println("找到 @SomeAnnotation");
            // 取得SomeAnnotation
            SomeAnnotation annotation = 
                 method.getAnnotation(SomeAnnotation.class);
            // 取得value成员值
            System.out.println("\tvalue = " + annotation.value());
            // 取得name成员值
            System.out.println("\tname = " + annotation.name());
        }
        else {
            System.out.println("找不到 @SomeAnnotation");
        }

        // 取得doSomething()方法上所有的Annotation
        Annotation[] annotations = method.getAnnotations();
        // 显示Annotation名称
        for(Annotation annotation : annotations) {
            System.out.println("Annotation名称:" +
                    annotation.annotationType().getName());
        }
    }
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?