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

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

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

    失樂園

    技術之路

    BlogJava 聯(lián)系 聚合 管理
      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 遵從傳統(tǒng)的標準。所有這些方法名都以 getset 開頭并且屬性名都是大寫的。當然,如果屬性是一個 Boolean,情況例外。在這種情況下,getter 以 is 開始,而非 get。這是 Java bean 的一種標準實踐;
    hashcode 當JavaBean 輸出數(shù)字;
    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 代碼內(nèi)看到的整潔了很多。請注意您還是需要拋出由被調(diào)用代碼捕獲的異常(在本例中,為 IOException)。

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

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


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

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

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

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


     

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

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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲同性男gay网站在线观看| 九月丁香婷婷亚洲综合色| 人禽杂交18禁网站免费| 99在线视频免费观看视频 | 久久精品国产亚洲AV电影网| 午夜在线亚洲男人午在线| 久久精品国产免费一区| 四虎最新永久免费视频| 国产高清视频在线免费观看| 亚洲精品在线免费观看| 国产免费人成视频在线观看| 亚洲福利在线观看| 亚洲精品亚洲人成在线| 日韩电影免费在线观看网址| 91频在线观看免费大全| 久久被窝电影亚洲爽爽爽| 日本在线免费播放| 男人的天堂亚洲一区二区三区| 亚洲成av人片不卡无码久久| 亚洲偷自精品三十六区| 成全视频高清免费观看电视剧| 国产免费私拍一区二区三区| jizz日本免费| 国产无遮挡色视频免费视频| 一级特黄录像免费播放中文版| 青青在线久青草免费观看| 亚洲一区免费观看| 免费无遮挡无码视频在线观看| 亚洲人成网站在线播放vr| 国产精品国产亚洲区艳妇糸列短篇 | 免费a级毛片无码a∨免费软件| 久久av无码专区亚洲av桃花岛| 欧美a级在线现免费观看| 黑人粗长大战亚洲女2021国产精品成人免费视频| 免费看国产一级特黄aa大片| 日本在线免费观看| 337P日本欧洲亚洲大胆艺术图| 亚洲成亚洲乱码一二三四区软件| 国产精品视频永久免费播放| 精品国产污污免费网站入口在线| 亚洲阿v天堂在线2017免费|