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(</span>"public ").append(typeName).append(" ").append(getFieldName).append("() ").append("{\n"<span style="color: #000000;">);
        stringBuilder.append(</span>"    return ").append(returnFieldName).append(";\n"<span style="color: #000000;">);
        stringBuilder.append(</span>"}\n"<span style="color: #000000;">);
        stringBuilder.append(</span>"\n"<span style="color: #000000;">);
        stringBuilder.append(</span>"public void ").append(setFieldName).append("() ").append("{\n"<span style="color: #000000;">);
        stringBuilder.append(</span>"    this.").append(returnFieldName).append(" = ").append(returnFieldName).append(";\n"<span style="color: #000000;">);
        stringBuilder.append(</span>"}\n"<span style="color: #000000;">);
        stringBuilder.append(</span>"\n"<span style="color: #000000;">);
    }

    </span><span style="color: #008000;">//</span><span style="color: #008000;">System.out.println(stringBuilder);</span>
    <span style="color: #0000ff;">return</span><span style="color: #000000;"> stringBuilder.toString();
}</span></pre>

 

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