今天看到 面对接口脏数据你还在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;
}
复制代码
好的,达成效果,耶,竟然还能够这么玩,之后可根据本身需求自行修改,谢谢你们。