ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java 入参是一个String数组,生成一个class文件里面属性名是数组元素,并生成对应的getter 和setter方法

2024-07-05 09:33:52  阅读:210  来源: 互联网

标签:


您可以使用以下Java代码来生成一个类文件,其中属性名是数组元素,并包含相应的getter和setter方法:

import java.io.FileWriter;
import java.io.IOException;

public class ArrayClassGenerator {

    public static void generateClass(String[] arrayElements, String className) {
        StringBuilder classContent = new StringBuilder();
        classContent.append("public class ").append(className).append(" {\n");

        for (String element : arrayElements) {
            classContent.append("    private String ").append(element).append(";\n\n");
            classContent.append("    public String get").append(Character.toUpperCase(element.charAt(0))).append(element.substring(1)).append("() {\n");
            classContent.append("        return ").append(element).append(";\n    }\n\n");
            classContent.append("    public void set").append(Character.toUpperCase(element.charAt(0))).append(element.substring(1)).append("(String ").append(element).append(") {\n");
            classContent.append("        this.").append(element).append(" = ").append(element).append(";\n    }\n\n");
        }

        classContent.append("}");
        
        // 将生成的类写入到文件中
        try {
            FileWriter fileWriter = new FileWriter(className + ".java");
            fileWriter.write(classContent.toString());
            fileWriter.close();
            System.out.println("生成成功!类文件名为:" + className + ".java");
        } catch (IOException e) {
            System.out.println("生成失败:" + e.getMessage());
        }
    }

    public static void main(String[] args) {
        String[] arrayElements = {"element1", "element2", "element3"};  // 入参为String数组
        String className = "GeneratedClass";  // 生成的类名
        generateClass(arrayElements, className);
    }
}

Java

使用这段代码,您可以在运行时生成一个Java类文件,其中包含了按照String数组元素生成的属性和对应的getter/setter方法。您可以根据需要修改数组元素和类名。希望这个代码能帮到您!

标签:
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有