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  杜嘟嘟  阅读(165)  评论(0)    收藏  举报