教你把Java Bean擼成串的最快方法-自定義setter生成腳本

適用工具:IntelliJ IDEAAndroid Studioapi

1 效果展現

廢話少說,看效果。框架

Student student = new Student()
                .setId("11111")
                .setName("Jack")
                .setGender("male")
                .setSchoolName("Center South University")
                .setClassName("IOT");複製代碼

我相信,不少人都已經熟悉鏈式調用了。若是不熟悉也沒有關係,鏈式調用就是我上面的寫的那個樣子。你在寫的過程當中,能夠一直點下去。是否是很爽!異步

可是,一般狀況下,Java中只有建造者模式才提供這種方法,另外還有些框架和庫提供。工具

想一想使用RxJava的人,寫代碼真是爽的不得了。固然RxJava那個爽的另有其因,它把異步擼成了串的同時把多層嵌套擼成了串。要知道,個人Leader說(甩鍋用的,後面說的不對不要找我),人思惟的嵌套層次大概只有3層,若是再多,代碼閱讀會很是困難。而代碼嵌套在異步處理的時候常常發生。因此RxJava充分解決了這個問題。好像扯遠了。ui

啪!說好的廢話少說呢?this

2 原理

在我看來,咱們在寫Java Bean的時候,常常寫的set方法,其中的返回值void,簡直就是一種資源浪費。因此我想,將set方法返回this,不就能夠實現Java Bean的鏈式調用嗎?嗯,沒錯,我上面的鏈式調用就是更改了Java Bean中的set方法,讓他們返回this。那麼看一下Student的代碼。spa

public class Student {

    private String id ;
    private String name ;
    ……

    public Student setId(final String id) {
        this.id = id;
        return this;
    }

    public Student setName(final String name) {
        this.name = name;
        return this;
    }

    ……
}複製代碼

對就是這個樣子。3d

可是咱們在寫代碼的時候一般都是自動生成settergetter方法的呀。我以前都是生成完了setter方法以後,全局替換void字段,可是這種效率過低了,並且,當你的Bean中有其餘方法了以後,就不能這麼幹了。那麼接來下展現 神技 !code

3 神技效果

看圖吧!cdn

生成的setter方法正是咱們須要的。前面已經寫了,該神技適用於IntelliJ IDEAAndroid Studio。其實就是IntelliJ IDEA內核嘛。

那麼來看看怎麼作吧!

4 神技實現過程(自定義setter腳本)

是否是感受高大上了,其實很簡單。這就教給你們。

4.1 打開Generate並進入setter

4.2 進入Setter成員選擇界面

這個界面你是否是再熟悉不過了,但你有沒有注意看過我標記的兩個地方?

Template裏就是setter的模版生成腳本,咱們當前使用的是默認的。這個時候若是你回去上面的動圖,會發現,個人這裏是my setter。其實就是我本身寫的一個生成腳本。可是後來我發現,根本沒有這種必要由於,IntelliJ IDEA已經給咱們準備好了。

點擊下拉鍵,選擇Builder模版(這個模版就是帶有this返回值的setter生成模版),而後再選擇成員,肯定,便可生成咱們要的setter

若是有必要的話,咱們還能夠本身自定義模版。

4.3 自定義模版

點擊,進入模版管理界面。

咱們能夠經過建立一個新的模版腳本,而後編寫腳本便可。以後點擊Ok。我本身寫了一個my setter,後來發現和系統的Builder同樣。囧!

5 結束語

其實不止是setter的模版能夠這樣改,其餘的也能夠,大同小異。去按本身的需求作吧!

更多Android Studio的神操做能夠查看個人另外一篇文章:

Android Studio相見恨晚的操做錦集

Android Studio編輯區背景設置方法。能夠看我另外一篇文章:

讓你的Android Studio性感起來--Sexy Editor

謝謝閱讀,嘿嘿!

相關文章
相關標籤/搜索