1. 程式人生 > 其它 >java註解的理解與注意

java註解的理解與注意

1,如果註解本身沒有註解型別元素,那麼在使用註解的時候可以省略(),直接寫為:@註解名,它和標準語法@註解名()等效!

2,如果註解本本身只有一個註解型別元素,而且命名為value,那麼在使用註解的時候可以直接使用:@註解名(註解值),其等效於:@註解名(value = 註解值)

3,如果註解中的某個註解型別元素是一個數組型別,在使用時又出現只需要填入一個值的情況,那麼在使用註解時可以直接寫為:@註解名(型別名 = 型別值),它和標準寫法:@註解名(型別名 = {型別值})等效!

4,如果一個註解的@Target是定義為Element.PACKAGE,那麼這個註解是配置在package-info.java中的,而不能直接在某個類的package程式碼上面配置。

 

在執行期探究和使用編譯期的內容(編譯期配置的註解),要用到Java的反射技術

            //獲取Student的Class物件
            Class stuClass = Class.forName("pojos.Student");

            //這裡形參不能寫成Integer.class,應寫為int.class
            Method stuMethod = stuClass.getMethod("study",int.class);

            if(stuMethod.isAnnotationPresent(CherryAnnotation.class)){
                System.out.println("Student類上配置了CherryAnnotation註解!");
                //獲取該元素上指定型別的註解
                CherryAnnotation cherryAnnotation = stuMethod.getAnnotation(CherryAnnotation.class);
                System.out.println("name: " + cherryAnnotation.name() + ", age: " + cherryAnnotation.age()
                    + ", score: " + cherryAnnotation.score()[0]);
            }else{
                System.out.println("Student類上沒有配置CherryAnnotation註解!");
            }

 轉載:https://blog.csdn.net/xsp_happyboy/article/details/80987484