自定义模版,避免出现Null pointer exception,让你的get和set方法更完美

版权声明:版权为博主所有,如需转载,请注明来源 https://blog.csdn.net/qq_38508087/article/details/84561078

在开发时,我们都习惯用gsonformat自动生成javaBean来接收后台返回的数据,然而,很多时候,后台并未返回字段或者该字段为空,我们在调用时就会出现各种Null pointer exception,为了避免这个错误,其实生成get和set方法时,可以自定义模板如下:

本来的模板为:IntelliJ Default

#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}() {
  return $field.name;
}

研究发现,set和get方法可以根据&name和field.name来进性判断,于是尝试修改如下:

get方法:

#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
}

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
}

如此便可生成如下代码:

public class ClassifyBean {
    private String msg;
    private int code;
    private boolean success;
    private List<DataBean> data;

    public String getMsg() {
        return msg == null ? "" : msg;
    }

    public void setMsg(String msg) {
        this.msg = msg == null ? "" : msg;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public boolean isSuccess() {
        return success;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }

    public List<DataBean> getData() {
        if (data == null) {
            return new ArrayList<>();
        }
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }

    public static class DataBean {
        private String id;
        private String name;
        private String parentId;
        private int flag;
        private String thumbnail;
        private int isDelete;
        private int priority;
        private List<ChildrenBeanX> children;

        public String getId() {
            return id == null ? "" : id;
        }

        public void setId(String id) {
            this.id = id == null ? "" : id;
        }

        public String getName() {
            return name == null ? "" : name;
        }

        public void setName(String name) {
            this.name = name == null ? "" : name;
        }

        public String getParentId() {
            return parentId == null ? "" : parentId;
        }

        public void setParentId(String parentId) {
            this.parentId = parentId == null ? "" : parentId;
        }

        public int getFlag() {
            return flag;
        }

        public void setFlag(int flag) {
            this.flag = flag;
        }

        public String getThumbnail() {
            return thumbnail == null ? "" : thumbnail;
        }

        public void setThumbnail(String thumbnail) {
            this.thumbnail = thumbnail == null ? "" : thumbnail;
        }

        public int getIsDelete() {
            return isDelete;
        }

        public void setIsDelete(int isDelete) {
            this.isDelete = isDelete;
        }

        public int getPriority() {
            return priority;
        }

        public void setPriority(int priority) {
            this.priority = priority;
        }

        public List<ChildrenBeanX> getChildren() {
            if (children == null) {
                return new ArrayList<>();
            }
            return children;
        }

        public void setChildren(List<ChildrenBeanX> children) {
            this.children = children;
        }

        public static class ChildrenBeanX {
            private String id;
            private String name;
            private String parentId;
            private int flag;
            private int isDelete;
            private int priority;
            private String thumbnail;
            private List<ChildrenBean> children;

            public String getId() {
                return id == null ? "" : id;
            }

            public void setId(String id) {
                this.id = id == null ? "" : id;
            }

            public String getName() {
                return name == null ? "" : name;
            }

            public void setName(String name) {
                this.name = name == null ? "" : name;
            }

            public String getParentId() {
                return parentId == null ? "" : parentId;
            }

            public void setParentId(String parentId) {
                this.parentId = parentId == null ? "" : parentId;
            }

            public int getFlag() {
                return flag;
            }

            public void setFlag(int flag) {
                this.flag = flag;
            }

            public int getIsDelete() {
                return isDelete;
            }

            public void setIsDelete(int isDelete) {
                this.isDelete = isDelete;
            }

            public int getPriority() {
                return priority;
            }

            public void setPriority(int priority) {
                this.priority = priority;
            }

            public String getThumbnail() {
                return thumbnail == null ? "" : thumbnail;
            }

            public void setThumbnail(String thumbnail) {
                this.thumbnail = thumbnail == null ? "" : thumbnail;
            }

            public List<ChildrenBean> getChildren() {
                if (children == null) {
                    return new ArrayList<>();
                }
                return children;
            }

            public void setChildren(List<ChildrenBean> children) {
                this.children = children;
            }

            public static class ChildrenBean {
                private String id;
                private String name;
                private String parentId;
                private int flag;
                private int isDelete;
                private int priority;
                private String thumbnail;
                private List<?> children;

                public String getId() {
                    return id == null ? "" : id;
                }

                public void setId(String id) {
                    this.id = id == null ? "" : id;
                }

                public String getName() {
                    return name == null ? "" : name;
                }

                public void setName(String name) {
                    this.name = name == null ? "" : name;
                }

                public String getParentId() {
                    return parentId == null ? "" : parentId;
                }

                public void setParentId(String parentId) {
                    this.parentId = parentId == null ? "" : parentId;
                }

                public int getFlag() {
                    return flag;
                }

                public void setFlag(int flag) {
                    this.flag = flag;
                }

                public int getIsDelete() {
                    return isDelete;
                }

                public void setIsDelete(int isDelete) {
                    this.isDelete = isDelete;
                }

                public int getPriority() {
                    return priority;
                }

                public void setPriority(int priority) {
                    this.priority = priority;
                }

                public String getThumbnail() {
                    return thumbnail == null ? "" : thumbnail;
                }

                public void setThumbnail(String thumbnail) {
                    this.thumbnail = thumbnail == null ? "" : thumbnail;
                }

                public List<?> getChildren() {
                    if (children == null) {
                        return new ArrayList<>();
                    }
                    return children;
                }

                public void setChildren(List<?> children) {
                    this.children = children;
                }
            }
        }
    }

仅供参考,如有疑问可联系[email protected],欢迎指正!

猜你喜欢

转载自blog.csdn.net/qq_38508087/article/details/84561078
今日推荐