使用Java做的超级简易小工具。 说明:
对于class属性生成get和set系方法,需要先有属性。
代码实现:
import java.util.Scanner; import java.util.ArrayList; import java.io.FileWriter; import java.io.Writer; import java.lang.StringBuilder; import java.io.File; public class CreateGetterAndSetter { private Writer writer; public CreateGetterAndSetter(File file) throws Exception { writer = new FileWriter(file); } public CreateGetterAndSetter(String stringFile) throws Exception { writer = new FileWriter(stringFile); } public CreateGetterAndSetter() { writer = null; } /** * 生成getter和setter方法 * @return 生成的结果 */ public static String build(String[] prefix, String[] suffix) { StringBuilder result = new StringBuilder(); for (int i = 0; i < prefix.length; i++) { String capitalStr = prefix[i].toUpperCase() + suffix[i]; String str = prefix[i] + suffix[i]; if (i != 0) { result.append("\n\n"); } result.append("set set") .append(capitalStr) .append("(") .append(str) .append(") {\n") .append(" this.") .append(str) .append(" = ") .append(str) .append(";\n}"); result.append("\n\nget get") .append(capitalStr) .append("() {\n") .append(" return this.") .append(str) .append(";\n}"); } return result.toString(); } public boolean outPutResult(String result) throws Exception { System.out.println("输出"); // 检测输出环境 if (this.writer == null) { System.out.println(result); } else { this.writer.write(result); } return true; } public static void main(String[] args) throws Exception{ Scanner input = new Scanner(System.in); System.out.println("请输入要创建的属性, 最后一行换行并输入end来结束输入"); // 保存输入的列表 ArrayList<String> list = new ArrayList<>(); while (!input.hasNext("end")) { list.add(input.nextLine()); } // 保存属性的数组 String[] capitalArrtibute = new String[list.size()]; String[] arrtibuteArray = new String[list.size()]; for (int i = 0; i < list.size(); i++) { String tempStr = list.get(i).split("=")[0]; capitalArrtibute[i] = "" + tempStr.charAt(0); arrtibuteArray[i] = tempStr.substring(1, tempStr.length() - 1); } // 控制台输出示例 CreateGetterAndSetter test = new CreateGetterAndSetter(); test.outPutResult(build(capitalArrtibute, arrtibuteArray)); } }测试代码:
// 请输入要创建的属性, 最后一行换行并输入end来结束输入 type = null; operateMoney = 0.0; stringDate = null; end // 输出 set setType(type) { this.type = type; } get getType() { return this.type; } set setOperateMoney(operateMoney) { this.operateMoney = operateMoney; } get getOperateMoney() { return this.operateMoney; } set setStringDate(stringDate) { this.stringDate = stringDate; } get getStringDate() { return this.stringDate; }