軟件工程實(shí)踐者

          統(tǒng)計(jì)

          留言簿

          友情鏈結(jié)

          閱讀排行榜

          評(píng)論排行榜

          Java 8 Repeatable注解的使用

          Java 8之前,同一注解不能在相同的目標(biāo)元素上多次使用,例如,如下的注解在Java 8之前是不允許的:
          public class SampleClass {
              
              @Quality("Security")
              @Quality("Performance")
              @Quality("Readability")
              public void foo(){
                  //
              }
          }

          Java 8引入了Repeatable注解(@Repeatable)可以解決這一問題,但光有可重復(fù)的注解定義還不夠,還需要它的容器注解,兩者一起來實(shí)現(xiàn)可重復(fù)注解的使用。實(shí)例如下:
          @Target(ElementType.METHOD)
          @Retention(RetentionPolicy.SOURCE)
          @Repeatable (Qualities.class)
          public @interface Quality {
              String value();
          }
          @Target(ElementType.METHOD)
          public @interface Qualities {
              Quality[] value();
          }

          其中,Quality是可重復(fù)注解,由@Repeatable注解標(biāo)明,它的容器注解是Qualities,用于存放所有可重復(fù)的Quality(存貯在Quality[]中);同時(shí)還要注意可重復(fù)注解和它的容器注解的目標(biāo)元素必須是一樣的(這也不言自明)。如此這般,我們最開始的 SampleClass 在Java 8環(huán)境下就可以安全使用了。


          posted on 2016-09-06 16:24 軟件工程實(shí)踐者 閱讀(836) 評(píng)論(0)  編輯  收藏 所屬分類: Java Domain

          主站蜘蛛池模板: 榆社县| 安福县| 长乐市| 巴林右旗| 江陵县| 枞阳县| 渭南市| 孟州市| 比如县| 如皋市| 崇左市| 平利县| 吐鲁番市| 长兴县| 西峡县| 祁东县| 铁力市| 平泉县| 高清| 彭州市| 濉溪县| 壶关县| 太保市| 弥勒县| 连江县| 思茅市| 铜陵市| 腾冲县| 崇明县| 蓝田县| 安达市| 阳东县| 阜平县| 长寿区| 安国市| 高密市| 灌阳县| 大关县| 赤水市| 正宁县| 彭水|