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

Java中的@Repeatable注解的作用詳解

 更新時間:2024年01月31日 10:35:18   作者:搏·夢  
這篇文章主要介紹了Java中的@Repeatable注解的作用詳解,@Repeatable注解是用來標(biāo)注一個注解在同一個地方可重復(fù)使用的一個注解,使被他注釋的注解可以在同一個地方重復(fù)使用,需要的朋友可以參考下

1. 前言

最近無意看到某些注解上有@Repeatable,出于比較好奇,因此稍微研究并寫下此文章。

@Repeatable注解是用來標(biāo)注一個注解在同一個地方可重復(fù)使用的一個注解,比如說你定義了一個注解,如果你的注解沒有標(biāo)記@Repeatable這個JDK自帶的注解,那么你這個注解在引用的地方就只能使用一次。

2. 先說結(jié)論

@Repeatable的作用:使被他注釋的注解可以在同一個地方重復(fù)使用。

具體使用如下:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Repeatable(value = MyAnnotationList.class)
public @interface MyAnnotation {
    String name();
}
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotationList {
	// 被 @Repeatable引用的注解中,必須得有被 @Repeatable注釋的注解(@MyAnnotation)返回類型的value方法
    MyAnnotation[] value();
}
public class MyAnnotationTest {
	@MyAnnotation(name = "Test1")
	@MyAnnotation(name = "Test2")
	private void testMethod() {
    }
	@MyAnnotationList(value = {@MyAnnotation(name = "Test1"), @MyAnnotation(name = "Test2")})
	private void testMethod2() {
	}
}

3. 案例演示

先定義新注解

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
    String name();
}

創(chuàng)建新類并使用自定義注解

public class MyAnnotationTest {

    @MyAnnotation(name = "Test1")
    private void testMethod(){

    }
}

當(dāng)注解@MyAnnotation還沒被@Repeatable注釋的時候,在testMethod()方法上使用多次,會出現(xiàn)下面報錯:

在這里插入圖片描述

將會提示:@MyAnnotation沒被@Repeatable注解,無法重復(fù)使用@MyAnnotation

因此在@MyAnnotation上使用@MyAnnotation,如下:

在這里插入圖片描述

4. 注意事項

@Repeatable(value = MyAnnotationList.class) 中引用了 @MyAnnotationList注解,用于@MyAnnotation注解上,有如下幾個細(xì)節(jié):

細(xì)節(jié)一:在引用注解上的@MyAnnotationList的方法中得有value()方法,如下:

在這里插入圖片描述

細(xì)節(jié)二:在引用注解上的@MyAnnotationList的方法中得有【被@Repeatable注解的@MyAnnotation注解類型的數(shù)組返回值的value方法】

在這里插入圖片描述

細(xì)節(jié)三:該案例中,若在方法上重復(fù)使用@MyAnnotation注解,實際上也會在運行的時候被包裝成MyAnnotationList[] 里面,如下:

在這里插入圖片描述

細(xì)節(jié)四:@MyAnnotation可多次使用,但不可多次與@MyAnnotationList一起使用,如下:

在這里插入圖片描述

細(xì)節(jié)五:@MyAnnotation可多次使用,但僅可一個與@MyAnnotationList一起使用,但唯一的@MyAnnotation在運行的時候被包裝成MyAnnotationList[] 里面,如下:

在這里插入圖片描述

到此這篇關(guān)于Java中的@Repeatable注解的作用詳解的文章就介紹到這了,更多相關(guān)@Repeatable注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java文件操作工具類fileUtil實例【文件增刪改,復(fù)制等】

    Java文件操作工具類fileUtil實例【文件增刪改,復(fù)制等】

    這篇文章主要介紹了Java文件操作工具類fileUtil,結(jié)合實例形式分析了java針對文件進行讀取、增加、刪除、修改、復(fù)制等操作的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-10-10
  • Java 多線程實例詳解(二)

    Java 多線程實例詳解(二)

    本文主要介紹Java 多線程的資料整理,這里整理了詳細(xì)資料及相關(guān)示例代碼,有興趣的小伙伴可以參考下
    2016-09-09
  • JAVA線程池監(jiān)控以及動態(tài)調(diào)整示例詳解

    JAVA線程池監(jiān)控以及動態(tài)調(diào)整示例詳解

    這篇文章主要為大家介紹了JAVA線程池監(jiān)控以及動態(tài)調(diào)整示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 詳解SpringBoot中META-INF的作用與功能

    詳解SpringBoot中META-INF的作用與功能

    SpringBoot開發(fā)的應(yīng)用程序中,META-INF目錄扮演著非常重要的角色,本文就來介紹一下 META-INF的作用及用處,具有一定的參考價值,感興趣的可以了解一下
    2025-07-07
  • Java構(gòu)造器使用方法及注意事項

    Java構(gòu)造器使用方法及注意事項

    這篇文章主要介紹了Java構(gòu)造器使用方法及注意事項的相關(guān)資料,這里舉例說明如何使用構(gòu)造器及需要注意的地方,需要的朋友可以參考下
    2017-07-07
  • SpringBoot中動態(tài)注入Bean的技巧分享

    SpringBoot中動態(tài)注入Bean的技巧分享

    在 Spring Boot 開發(fā)中,動態(tài)注入 Bean 是一種強大的技術(shù),它允許我們根據(jù)特定條件或運行時環(huán)境靈活地創(chuàng)建和管理 Bean,本文將介紹 Spring Boot 中三種動態(tài) Bean 注入技巧,需要的可以參考一下
    2025-06-06
  • SpringMVC實現(xiàn)文件上傳與下載、攔截器、異常處理器等功能

    SpringMVC實現(xiàn)文件上傳與下載、攔截器、異常處理器等功能

    這篇文章主要給大家介紹了關(guān)于SpringMVC實現(xiàn)文件上傳與下載、攔截器、異常處理器等功能的相關(guān)資料,這些功能在我們?nèi)粘i_發(fā)中經(jīng)常會遇到,本文通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-09-09
  • Springboot循環(huán)依賴的原因及解決

    Springboot循環(huán)依賴的原因及解決

    本文主要介紹了Spring Boot中的循環(huán)依賴問題,包括循環(huán)依賴的定義、產(chǎn)生原因以及解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • SpringBoot處理請求參數(shù)中包含特殊符號

    SpringBoot處理請求參數(shù)中包含特殊符號

    今天寫代碼遇到了一個問題,請求參數(shù)是個路徑“D:/ExcelFile”,本文就詳細(xì)的介紹一下該錯誤的解決方法,感興趣的可以了解一下
    2021-06-06
  • 如何利用Java在圖片上添加文字水印效果

    如何利用Java在圖片上添加文字水印效果

    最近發(fā)現(xiàn)經(jīng)常被別的網(wǎng)站盜用,而且不注明出處,因此不得不加上水印,這篇文章主要給大家介紹了關(guān)于如何利用Java在圖片上添加文字水印效果的相關(guān)資料,需要的朋友可以參考下
    2022-01-01

最新評論

随州市| 大丰市| 闵行区| 乃东县| 都昌县| 罗城| 日土县| 特克斯县| 承德县| 石棉县| 万安县| 满洲里市| 册亨县| 平南县| 南通市| 清远市| 丰宁| 延寿县| 大足县| 静宁县| 金坛市| 介休市| 辽阳市| 桦甸市| 公主岭市| 西宁市| 仲巴县| 龙陵县| 鲁山县| 五常市| 阿瓦提县| 宁阳县| 舒兰市| 荣昌县| 神池县| 外汇| 兴化市| 凯里市| 和静县| 安达市| 即墨市|