最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java8新增的重復(fù)注解功能示例

 更新時(shí)間:2019年10月22日 08:42:33   作者:cakincqm  
這篇文章主要介紹了Java8新增的重復(fù)注解功能,結(jié)合實(shí)例形式分析了java8重復(fù)注解的功能、定義、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Java8新增的重復(fù)注解功能。分享給大家供大家參考,具體如下:

一 點(diǎn)睛

在Java 8以前,同一個(gè)程序元素前最多只能使用一個(gè)相同類型的Annotation;如果需要在同一個(gè)元素前使用多個(gè)相同類型的Annotation,則必須使用Annotation“容器”。

為了將該注解改造成重復(fù)注解,需要使用@Repeatable修飾該注解,使用@Repeatable時(shí)必須為value成員變量指定值。

二 實(shí)戰(zhàn)

1 定義重復(fù)注解

import java.lang.annotation.*;
// 指定該注解信息會(huì)保留到運(yùn)行時(shí)
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Repeatable(FkTags.class)
public @interface FkTag
{
  // 為該注解定義2個(gè)成員變量
  String name() default "瘋狂軟件";
  int age();
}

2 定義重復(fù)注解容器

import java.lang.annotation.*;
// 指定該注解信息會(huì)保留到運(yùn)行時(shí)
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface FkTags
{
  // 定義value成員變量,該成員變量可接受多個(gè)@FkTag注解
  FkTag[] value();
}

3 測(cè)試

@FkTag(age=5)
@FkTag(name="瘋狂Java" , age=9)
//@FkTags({@FkTag(age=5),
// @FkTag(name="瘋狂Java" , age=9)})
public class FkTagTest
{
  public static void main(String[] args)
  {
   Class<FkTagTest> clazz = FkTagTest.class;
   /* 使用Java 8新增的getDeclaredAnnotationsByType()方法獲取
     修飾FkTagTest類的多個(gè)@FkTag注解 */
   FkTag[] tags = clazz.getDeclaredAnnotationsByType(FkTag.class);
   // 遍歷修飾FkTagTest類的多個(gè)@FkTag注解
   for(FkTag tag : tags)
   {
     System.out.println(tag.name() + "-->" + tag.age());
   }
   /* 使用傳統(tǒng)的getDeclaredAnnotation()方法獲取
     修飾FkTagTest類的@FkTags注解 */
   FkTags container = clazz.getDeclaredAnnotation(FkTags.class);
   System.out.println(container);
  }
}

三 運(yùn)行

瘋狂軟件-->5
瘋狂Java-->9
@FkTags(value=[@FkTag(name=瘋狂軟件, age=5), @FkTag(name=瘋狂Java, age=9)])

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Java中BigInteger用法小結(jié)

    Java中BigInteger用法小結(jié)

    這篇文章主要介紹了Java中BigInteger用法的詳解,在這里,我們?cè)敿?xì)描述下BigInteger的用法,在使用之前,我們需要導(dǎo)入java.math.*包,本文通過(guò)實(shí)例代碼相結(jié)合給大家詳細(xì)講解,需要的朋友可以參考下
    2023-03-03
  • java中進(jìn)制的轉(zhuǎn)換,Byte與16進(jìn)制的轉(zhuǎn)換方法

    java中進(jìn)制的轉(zhuǎn)換,Byte與16進(jìn)制的轉(zhuǎn)換方法

    下面小編就為大家?guī)?lái)一篇java中進(jìn)制的轉(zhuǎn)換,Byte與16進(jìn)制的轉(zhuǎn)換方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • 全面解析Java設(shè)計(jì)模式之單例模式

    全面解析Java設(shè)計(jì)模式之單例模式

    這篇文章主要幫助大家全面解析Java設(shè)計(jì)模式之單例模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 解讀file.exists(),file.isFile()和file.isDirectory()的區(qū)別

    解讀file.exists(),file.isFile()和file.isDirectory()的區(qū)別

    本文介紹了Java中的File類的三個(gè)方法:file.exists()、file.isFile()和file.isDirectory(),并詳細(xì)解釋了它們的區(qū)別和使用場(chǎng)景
    2025-02-02
  • Spring MVC實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)增刪改查完整實(shí)例

    Spring MVC實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)增刪改查完整實(shí)例

    這篇文章主要介紹了Spring MVC實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)增刪改查完整實(shí)例,從創(chuàng)建一個(gè)web項(xiàng)目開(kāi)始,分享了項(xiàng)目結(jié)構(gòu)以及具體Java代碼和前端頁(yè)面等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • maven工程中讀取resources中的資源文件

    maven工程中讀取resources中的資源文件

    Web項(xiàng)目中應(yīng)該經(jīng)常有這樣的需求,在maven項(xiàng)目的resources目錄下放一些文件,比如一些配置文件,資源文件等,本文主要介紹了maven工程中讀取resources中的資源文件,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • MyBatis特殊SQL的執(zhí)行實(shí)例代碼

    MyBatis特殊SQL的執(zhí)行實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于MyBatis特殊SQL執(zhí)行的相關(guān)資料,文中通過(guò)實(shí)例代碼和圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MyBatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Java 實(shí)戰(zhàn)練習(xí)之網(wǎng)上電商項(xiàng)目的實(shí)現(xiàn)

    Java 實(shí)戰(zhàn)練習(xí)之網(wǎng)上電商項(xiàng)目的實(shí)現(xiàn)

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+vue+Springboot+ssm+mysql+maven+redis實(shí)現(xiàn)一個(gè)網(wǎng)上電商項(xiàng)目,大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • MyBatis-Plus:saveOrUpdate根據(jù)指定字段更新或插入方式

    MyBatis-Plus:saveOrUpdate根據(jù)指定字段更新或插入方式

    這篇文章主要介紹了MyBatis-Plus:saveOrUpdate根據(jù)指定字段更新或插入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Spring Boot 自定義數(shù)據(jù)源DruidDataSource代碼

    Spring Boot 自定義數(shù)據(jù)源DruidDataSource代碼

    這篇文章主要介紹了Spring Boot 自定義數(shù)據(jù)源DruidDataSource代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評(píng)論

浦东新区| 青州市| 南丰县| 措美县| 进贤县| 潍坊市| 开化县| 信丰县| 永仁县| 盐山县| 咸阳市| 凤城市| 宿迁市| 江阴市| 颍上县| 讷河市| 平和县| 顺昌县| 黎城县| 康马县| 苏尼特左旗| 互助| 中卫市| 湖口县| 呼和浩特市| 龙门县| 东乌珠穆沁旗| 固镇县| 彩票| 枣庄市| 宁乡县| 增城市| 三原县| 高雄市| 和静县| 新化县| 宁远县| 汉阴县| 霍城县| 自治县| 阿图什市|