Android Studio设置相关
1、Android Studio避免使用String类型变量的get()方法导致的NullPointerException
前言
通常我们会使用一个实体类来接受服务器端返回的数据,我们获取对应变量的值时,通常会使用这个变量的get()方法,而在使用String类型变量的get()方法时,经常会遇到NullPointerException异常,为了避免这个问题,我们通常会判断这个变量的值是否为null,但是需要自己每次都去做判断,一不注意就会忘记加判断,有什么办法能尽量避免这种错误呢?
有两种方法:1、修改AS自带的生成get、set方法的模板;2、自己做个AS插件,来生成实体类。
第一种方法比较简单,本篇要讲的也是第一种方法,但是这种方法的缺点也很明显,要自己声明变量,然后使用AS的Generate来生成get/set方法,对于习惯于GsonFormat的我来说其实比较鸡肋,而且一旦变量很多,使用GsonFormat明显方便的多,但是也算是一种学习吧,所以记录下来,后边会学习第二种方法,自己做个插件来偷懒。
方法
首先,在已经声明好变量的实体类,打开Generate Getter And Setter,如图所示,可以看到第一个红框中所示,就是Getter和Setter的模板,点击后边红框中的按钮,就会出现模板页面。
出现如上图所示的模板页面,可以看到,AS默认的模板为IntelliJ Default,在IntelliJ Default模板上方已经又一个GetNotNull的模板了,这就是已经新增好的模板,将IntelliJ Default中的代码复制过来,然后将红框中的代码修改一下:
${name}() {
#if ($field.string)
return $field.name == null ? "" : $field.name;
#else
return $field.name;
#end
}
很容易明白,变量在String类型时,如果为null,则会返回""。我会抽空学习第二种方法,然后记录下来。