<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    失樂園

    技術之路

    BlogJava 聯系 聚合 管理
      19 Posts :: 44 Stories :: 40 Comments :: 0 Trackbacks
       參考http://developer.51cto.com/art/201004/194014.htm
       下載后安裝:java -jar lombok.jar
    1import lombok.Data  
    2public @Data class xx
    3
    默認提供了getters 和 setters 以及equals 當且僅當javabean中每一個屬性相同時,輸出true;

    在生成 getter/setter 方法時,Lombok 遵從傳統的標準。所有這些方法名都以 getset 開頭并且屬性名都是大寫的。當然,如果屬性是一個 Boolean,情況例外。在這種情況下,getter 以 is 開始,而非 get。這是 Java bean 的一種標準實踐;
    hashcode 當JavaBean 輸出數字;
    toString 輸出Class 和每個屬性的打印列表;

    修飾Getter方法的訪問權限
    @Getter(AccessLevel.PROTECTED) 修飾getter方法的訪問權限
    @Setter(AccessLevel.PROTECTED) 修飾setter方法的訪問權限


    @Getter(AccessLevel.PROTECTED) 
    private int size;

    排除某一個特定字段重寫toString方法:

    1@ToString(exclude="color")
    2public @Data class Lure {
    3private String name;
    4private int size;
    5private String color;
    6private String style;
    7}


     

    您是不是也一直非常痛恨編寫 try/catch/finally 塊呢?我是這樣的。幸運的是,有了 Lombok,您無需這么做了。這也是 Lombok 消除 Java 冗余的另一種方式。為了消除 try/catch/finally 塊的冗余,只需使用 @Cleanup 注釋。參見清單 6。


    清單 6. 使用 @Cleanup 注釋
                public static void main(String[] args) throws IOException {
                @Cleanup InputStream in = new FileInputStream(args[0]);
                @Cleanup OutputStream out = new FileOutputStream(args[1]);
                //write file code goes here
                }
                            

    上述代碼較我們通常在標準 Java 代碼內看到的整潔了很多。請注意您還是需要拋出由被調用代碼捕獲的異常(在本例中,為 IOException)。

    清單 6 中的這個代碼塊不僅消除了 try/catch/finally 塊,而且還關閉了開放流。如果您處理的對象使用一個方法而不是 close() 來釋放資源,那么就需要用一個帶附加說明的注釋調用該方法。比如,@Cleanup("relinquish")

    Lombok 還可以減少同步方法所需的代碼的冗余。很自然,這是用 @Synchronized 方法實現的。


    清單 7. 使用 @Synchronized 注釋
                @Synchronized
                private int foo() {
                //some magic done here
                return 1;
                }
                            

    在本例中,Lombok 會自動創建一個名為 $lock 的實例對象,并會針對該對象同步方法 foo()

    如果用 @Synchronized 注釋的這個方法是靜態的,那么 Lombok 就會創建一個名為 $LOCK 的類對象,并會針對該對象同步這個方法。

    您還可以指定一個對象用以通過一個附加參數進行顯式的鎖定。比如,@Synchronized("myObject") 會針對對象 myObject 同步這個方法。在這種情況下,必須顯式地定義它。


     

    posted on 2010-04-26 09:51 狄浩 閱讀(8335) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 四虎成人精品永久免费AV| 美女被免费网站在线视频免费| v片免费在线观看| 免费观看亚洲人成网站| 亚洲精品伦理熟女国产一区二区 | 免费黄色福利视频| 亚洲欧洲国产视频| 99久久精品日本一区二区免费 | 亚洲av成人无码久久精品| 光棍天堂免费手机观看在线观看| 亚洲人成色777777在线观看| 久久精品成人免费观看| 国产亚洲A∨片在线观看| 日韩av无码免费播放| 亚洲国产精品自在在线观看| 亚洲黄色免费在线观看| 亚洲一区精彩视频| 好大好深好猛好爽视频免费| 国产精品亚洲专区无码WEB| 免费在线观看黄网站| 99在线免费观看| 亚洲毛片基地日韩毛片基地| 久久久久亚洲精品无码网址色欲 | 亚洲国产成人精品无码区在线观看 | 在线观看国产情趣免费视频| 日本高清不卡中文字幕免费| 国产亚洲人成网站在线观看不卡| 69精品免费视频| 亚洲精品国产综合久久久久紧| 亚洲国产精品自产在线播放| 日韩精品在线免费观看| 久久精品国产亚洲AV蜜臀色欲| 国产一级淫片视频免费看| 在线毛片片免费观看| 中国亚洲呦女专区| 亚洲男人的天堂www| 一二三四免费观看在线视频中文版| 久久久久久久久无码精品亚洲日韩| 亚洲一区无码精品色| 国产男女爽爽爽爽爽免费视频| 最新亚洲人成无码网站|