国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 15:29:19
字體:
供稿:網(wǎng)友

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

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

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

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ù)注解,我們再來看看java 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對注解做了2個(gè)方面的改進(jìn)(JEP 104,JEP120),相信注解會(huì)比以前使用得更加頻繁了。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 美姑县| 顺平县| 达孜县| 盐津县| 枣阳市| 黑山县| 天峨县| 桓仁| 科尔| 临邑县| 北安市| 隆尧县| 东莞市| 墨脱县| 盖州市| 蒙城县| 兰考县| 泸溪县| 白水县| 行唐县| 孟村| 安仁县| 德保县| 塘沽区| 莱芜市| 绥滨县| 四平市| 临城县| 马鞍山市| 明水县| 林西县| 万盛区| 特克斯县| 平潭县| 龙门县| 宁远县| 犍为县| 建瓯市| 黎川县| 肥西县| 慈利县|