今天看到 面對接口髒數據你還在V層if str==null else setText? 一文,覺着寫得挺好,開發過程當中多思考多動手,會帶來意想不到的效果。底下評論你們也都說了各自的方法和看法,文中有一些問題做者後來也解決了,看到評論裏有人說: bash
說到配置as,就能夠實如今建立bean時自動生成return xx==null?"":xx;
覺着很好,由於我覺着這是一種挺簡單的方法,可是就如同底下人問了怎麼配置呀,我也不知道,因而我就在本身as
工具裏新建了一個bean對象,按住alt+insert
添加get/set
方法,發現瞭解決辦法。以下圖: 工具
平時手快也沒注意,今天仔細看了看,那上面的意思不就是,get
方法模塊,set
方法模板嗎,後面跟着 IntelliJ Default
大概就是默認的生成模板吧,點擊後面的三個點 按鈕進去看看,以下: post
這是set
的,get
方法也相似是這樣的,大概也能看懂,想着是否是能夠直接模板就行了,發現沒法修改,後來又發現左上角的+
號,原來是本身能夠新建一個模板,而後再生成的時候選擇本身的模板就行了,如咱們在get
模板中新建一個本身的模板:ui
咱們知道咱們只須要改一下最後get
方法return
那個地方的代碼,也就是這兒: this
不肯定是否是,咱們能夠在後面跟着一個「#」號試試:spa
${name}() {
return $field.name+"#";
}
複製代碼
在生成的時候選擇咱們自定義的模板: code
發現最後生成的代碼:cdn
public String getAge() {
return age + "#";
}
public void setAge(String age) {
this.age = age;
}
複製代碼
這樣證實肯定是這樣的,那麼我麼能夠繼續進行真正的判斷了: 咱們先把這個默認裏的get
方法代碼拷貝到 MyGetter
中,咱們再根據咱們本身的須要修改模板代碼,其它地方不變,就修改須要修改的地方: 咱們想要實現這樣的:return xx==null?"":xx
,Ok ,那麼我認爲大概是這麼寫的,注意咱們只對String類型的字段進行判斷,在此我修改下:對象
${name}() {
return $field.name == null ? "" : $field.name;
}
${name}() {
#if($field.String)
return $field.name == null ? "" : $field.name;
#else
return $field.name;
#end
}
複製代碼
咱們對比一個default
的寫法:blog
${name}() {
return $field.name;
}
複製代碼
好的,咱們再繼續生成一下:
public String getAge() {
return age == null ? "" : age;
}
public void setAge(String age) {
this.age = age;
}
複製代碼
好的,達成效果,耶,竟然還能夠這麼玩,之後可根據本身需求自行修改,謝謝你們。