美文网首页
IDEA添加非空Getter方法模板,并解决泛型

IDEA添加非空Getter方法模板,并解决泛型

作者: 星邪Ara | 来源:发表于2019-03-01 11:06 被阅读0次

    为了满足项目需求进一步优化了模板

    #if($field.modifierStatic)
    static ##
    #end
    ##获取类名S
    $field.type ##
    #set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
    ##获取类名E
    #if ($field.boolean && $field.primitive)
    is##
    #else
    get##
    #end
    ${name}() {
    ## 常用类型
    #if($field.isString())
        if($field.name == null) set${name}("");
        return $field.name;
    #elseif($field.isList())
        if($field.name == null) set${name}(new ArrayList<>());
        return $field.name;
    #elseif($field.isSet())
        if($field.name == null) set${name}(new HashSet<>());
        return $field.name;
    #elseif($field.isMap())
        if($field.name == null) set${name}(new HashMap<>());
        return $field.name;
    ## 如果是基本类型,则什么都不做
    #elseif($field.numeric||$field.boolean||$field.byte||$field.char||$field.getTypeName() == "Character")
        return $field.name;
    ##用户自定义类型或以上未包含类型,直接new
    #else
        ##解决泛型问题
        if($field.name == null) set${name}(new $field.type ## 
             #set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))());
        return $field.name;
        ##泛型有问题
        ##return $field.name == null ? new $field.getTypeName()() : $field.name;
    #end
    }
    ##end是ifelse的结尾
    

    1、第一步


    TIM图片20190301110522.png

    2、第二步

    image

    3、第三步

    image

    4、第四步,把下面内容复制进去点击OK完事,直接使用nonNull即可

    
    #if($field.modifierStatic)
    static ##
    #end
    $field.type ##
    #set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
    #if ($field.boolean && $field.primitive)
    is##
    #else
    get##
    #end
    ${name}() {
    ## 常用类型
    #if($field.isString())
        return $field.name == null ? "" : $field.name;
    #elseif($field.isList())
        return $field.name == null ? new ArrayList<>() : $field.name;
    #elseif($field.isSet())
        return $field.name == null ? new HashSet<>() : $field.name;
    #elseif($field.isMap())
        return $field.name == null ? new HashMap<>() : $field.name;
    ## 如果是基本类型,则什么都不做
    #elseif($field.numeric||$field.boolean||$field.byte||$field.char||$field.getTypeName() == "Character")
        return $field.name;
    ##用户自定义类型或以上未包含类型,直接new
    #else
        ##解决泛型问题
        return $field.name == null ? new $field.type ## 
        #set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
        () : $field.name;
        ##泛型有问题
        ##return $field.name == null ? new $field.getTypeName()() : $field.name;
    #end
    }
    
    

    相关文章

      网友评论

          本文标题:IDEA添加非空Getter方法模板,并解决泛型

          本文链接:https://www.haomeiwen.com/subject/vtoruqtx.html