Java生成对应实体类的setter和getter代码

生成到控制台

/**
     * 生成setter和getter
     * @param clz
     */
    public static String setAndGet(Class clz){
        StringBuilder stringBuilder = new StringBuilder();
        Field[] declaredFields = clz.getDeclaredFields();
        for (Field declaredField : declaredFields) {
            declaredField.setAccessible(true);
            //获取属性的类型
            String typeName = declaredField.getType().getName();
            typeName=typeName.substring(typeName.lastIndexOf(".")+1);
            //System.out.println(typeName);
            //return属性名用到
            String returnFieldName = declaredField.getName();
            //变回get方法名字
            String getFieldName = declaredField.getName();
            //变回set方法名字
            String setFieldName = declaredField.getName();
            getFieldName = "get"+String.valueOf(getFieldName.charAt(0)).toUpperCase()+getFieldName.substring(1);
            setFieldName = "set"+String.valueOf(setFieldName.charAt(0)).toUpperCase()+setFieldName.substring(1);

            stringBuilder.append("public ").append(typeName).append(" ").append(getFieldName).append("() ").append("{\n");
            stringBuilder.append("    return ").append(returnFieldName).append(";\n");
            stringBuilder.append("}\n");
            stringBuilder.append("\n");
            stringBuilder.append("public void ").append(setFieldName).append("() ").append("{\n");
            stringBuilder.append("    this.").append(returnFieldName).append(" = ").append(returnFieldName).append(";\n");
            stringBuilder.append("}\n");
            stringBuilder.append("\n");
        }

        //System.out.println(stringBuilder);
        return stringBuilder.toString();
    }

 

posted @ 2022-03-25 15:01  杜嘟嘟  阅读(129)  评论(0编辑  收藏  举报