AndroidStudio 修改 get() set() 模板

studio 自带的生成模板如果我们不在获取数据中进行非空判断很容易造成空指针,如果我们修改了set 和get 生成的模板,我们在获取数据的时候也就不用再进行非空判断了

1.选择Generate(Atl+Insert)/ command+N(Mac) -->弹出面板中选择Getter and Setter


image.png

2.点击get template 后面的... 进入设置模板页面,我已经选中了我设置的MyGet 模板


image.png

3.设置get模板,点击+ 添加你自己的模板的名字,我是MyGet
image.png
#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)
  #if ($StringUtil.startsWithIgnoreCase($name, 'is'))
    #set($name = $StringUtil.decapitalize($name))
  #else
    is##
#end
#else
  get##
#end
${name}() {
  #if ($field.string)
     return $field.name == null ? "" : $field.name;
  #else 
    #if ($field.list)
    if ($field.name == null) {
        return new ArrayList<>();
    }
    return $field.name;
    #else 
    return $field.name;
    #end
  #end
}

4.同理set 是

#set($paramName = $helper.getParamName($field, $project))
public ##
#if($field.modifierStatic)
  static ##
#end
void set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))($field.type $paramName) {
  #if ($field.name == $paramName)
    #if (!$field.modifierStatic)
      this.##
    #else
      $classname.##
    #end
  #end
  #if($field.string)
    $field.name = $paramName == null ? "" : $paramName;
  #else  
    $field.name = $paramName;
  #end
}

看一下效果


image.png

你可能感兴趣的:(AndroidStudio 修改 get() set() 模板)