欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java8新特性之重復(fù)注解(repeating annotations)淺析

 更新時(shí)間:2014年06月09日 11:39:08   作者:  
這篇文章主要介紹了Java8新特性之重復(fù)注解(repeating annotations)淺析,這個(gè)新特性只是修改了程序的可讀性,是比較小的一個(gè)改動(dòng),需要的朋友可以參考下

一、什么是重復(fù)注解

允許在同一申明類型(類,屬性,或方法)的多次使用同一個(gè)注解

二、一個(gè)簡(jiǎn)單的例子

java 8之前也有重復(fù)使用注解的解決方案,但可讀性不是很好,比如下面的代碼:

復(fù)制代碼 代碼如下:

public @interface Authority {
     String role();
}

public @interface Authorities {
    Authority[] value();
}

public class RepeatAnnotationUseOldVersion {

    @Authorities({@Authority(role="Admin"),@Authority(role="Manager")})
    public void doSomeThing(){
    }
}

由另一個(gè)注解來存儲(chǔ)重復(fù)注解,在使用時(shí)候,用存儲(chǔ)注解Authorities來擴(kuò)展重復(fù)注解,我們?cè)賮砜纯磈ava 8里面的做法:

復(fù)制代碼 代碼如下:

@Repeatable(Authorities.class)
public @interface Authority {
     String role();
}

public @interface Authorities {
    Authority[] value();
}

public class RepeatAnnotationUseNewVersion {
    @Authority(role="Admin")
    @Authority(role="Manager")
    public void doSomeThing(){ }
}

不同的地方是,創(chuàng)建重復(fù)注解Authority時(shí),加上@Repeatable,指向存儲(chǔ)注解Authorities,在使用時(shí)候,直接可以重復(fù)使用Authority注解。從上面例子看出,java 8里面做法更適合常規(guī)的思維,可讀性強(qiáng)一點(diǎn)

三、總結(jié)

JEP120沒有太多內(nèi)容,是一個(gè)小特性,僅僅是為了提高代碼可讀性。這次java 8對(duì)注解做了2個(gè)方面的改進(jìn)(JEP 104,JEP120),相信注解會(huì)比以前使用得更加頻繁了。

相關(guān)文章

  • Java中volatile關(guān)鍵字的線程的可見性、有序性詳解

    Java中volatile關(guān)鍵字的線程的可見性、有序性詳解

    這篇文章主要介紹了Java中volatile關(guān)鍵字的線程的可見性、有序性詳解,在juc多線程并發(fā)編程中,常常需要關(guān)注線程的"可見性"與"有序性",本文將詳細(xì)介紹這兩部分內(nèi)容,以及volatile關(guān)鍵字的使用,需要的朋友可以參考下
    2024-01-01
  • Springboot2 集成 druid 加密數(shù)據(jù)庫密碼的配置方法

    Springboot2 集成 druid 加密數(shù)據(jù)庫密碼的配置方法

    這篇文章給大家介紹Springboot2 集成 druid 加密數(shù)據(jù)庫密碼的配置方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-07-07
  • Log4j不同模塊輸出到不同的文件中

    Log4j不同模塊輸出到不同的文件中

    這篇文章主要介紹了Log4j不同模塊輸出到不同的文件中 的相關(guān)資料,需要的朋友可以參考下
    2016-08-08
  • Java中BufferedReader類獲取輸入輸入字符串實(shí)例

    Java中BufferedReader類獲取輸入輸入字符串實(shí)例

    這篇文章主要介紹了Java中BufferedReader類獲取輸入輸入字符串實(shí)例,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Java基礎(chǔ)之extends用法詳解及簡(jiǎn)單實(shí)例

    Java基礎(chǔ)之extends用法詳解及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了 Java基礎(chǔ)之extends用法詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • hibernate4快速入門實(shí)例詳解

    hibernate4快速入門實(shí)例詳解

    Hibernate是一個(gè)輕量級(jí)的ORMapping框架,本文重點(diǎn)給大家介紹hibernate4 入門實(shí)例詳細(xì),需要的朋友參考下吧
    2017-09-09
  • java如何解析/讀取xml文件

    java如何解析/讀取xml文件

    這篇文章主要為大家詳細(xì)介紹了java如何解析/讀取xml文件的方法,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 基于java下載中g(shù)etContentLength()一直為-1的一些思路

    基于java下載中g(shù)etContentLength()一直為-1的一些思路

    下面小編就為大家?guī)硪黄趈ava下載中g(shù)etContentLength()一直為-1的一些思路。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java異常架構(gòu)和異常關(guān)鍵字圖文詳解

    Java異常架構(gòu)和異常關(guān)鍵字圖文詳解

    Java異常是Java提供的一種識(shí)別及響應(yīng)錯(cuò)誤的一致性機(jī)制,下面這篇文章主要給大家介紹了關(guān)于Java異常架構(gòu)和異常關(guān)鍵字的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • Java中Math類常用方法代碼詳解

    Java中Math類常用方法代碼詳解

    本文是小編最新給大家整理的關(guān)于Java中Math類常用方法的知識(shí),通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2017-07-07

最新評(píng)論