自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java 8新特性探究(5):重復注解

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

 什么是重復注解

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

一個簡單的例子

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

  1. public @interface Authority {  
  2.      String role();  
  3. }  
  4.  
  5. public @interface Authorities {  
  6.     Authority[] value();  
  7. }  
  8.  
  9. public class RepeatAnnotationUseOldVersion {  
  10.       
  11.     @Authorities({@Authority(role="Admin"),@Authority(role="Manager")})  
  12.     public void doSomeThing(){  
  13.     }  
  14. }  

 

由另一個注解來存儲重復注解,在使用時候,用存儲注解Authorities來擴展重復注解,我們再來看看java 8里面的做法:

 

  1. @Repeatable(Authorities.class)  
  2. public @interface Authority {  
  3.      String role();  
  4. }  
  5.  
  6. public @interface Authorities {  
  7.     Authority[] value();  
  8. }  
  9.  
  10. public class RepeatAnnotationUseNewVersion {  
  11.     @Authority(role="Admin")  
  12.     @Authority(role="Manager")  
  13.     public void doSomeThing(){ }  
  14. }  

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

總結(jié)

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

原文鏈接:http://my.oschina.net/benhaile/blog/180932

 

責任編輯:林師授 來源: oschina
相關(guān)推薦

2014-07-15 14:48:26

Java8

2014-04-15 09:53:54

Java8類型注解

2014-07-14 11:34:53

Java 8Nashorn

2014-10-20 13:57:59

JavaFX 8Java 8

2014-04-16 07:43:31

Java 8JRE

2014-07-15 14:12:17

Java8

2014-07-15 13:57:53

Java8

2014-04-15 16:01:00

Java8泛型

2014-04-16 07:48:56

Java 8Permgen

2021-02-22 11:51:15

Java開發(fā)代碼

2014-05-14 10:02:17

Java 8StampedLock

2014-04-16 07:29:02

Java8Java日期

2014-07-15 13:54:09

Java8

2014-03-25 10:20:37

Java 8新特性

2014-07-15 15:01:01

Java8

2014-03-19 11:04:14

Java 8Java8特性

2014-05-05 09:58:01

2013-05-02 09:14:19

Java 8Java 8的新特性

2013-04-09 12:59:21

WindowsPhon

2009-06-29 17:42:03

Tapestry5新特
點贊
收藏

51CTO技術(shù)棧公眾號