1

有人知道基于构造函数创建 java 对象的现有脚本吗?

我正在考虑写一个,但决定看看是否已经存在,因为它看起来很简单。

基本上java对象的一个​​常见组件涉及编写

  1. public class nameofObjectIDE 通常会处理 package 语句和 class 语句。

  2. 创建私有变量

  3. 使用传入的那些变量的相同名称创建构造函数

  4. 制作 getter 和 setter

  5. 决定将私有变量分配给构造函数中的局部变量,即

    public nameofObject(String a, String b, String c){
        this.a = a;
        this.b = b;
        this.c = c;
    }
    

这个过程非常可预测(非常适合脚本)并且可能很乏味(也适合计算机)

该示例只有 3 个变量,但对象可以有 20 个或数百个变量。

我还没有看到 IDE 或脚本根据其构造函数自动创建整个对象,但这会非常方便,我正在考虑用 python 或 ant 或 bash 编写脚本来执行此操作。

但在我重新发明轮子之前,你见过这样做的吗?

4

2 回答 2

2

只要您为构造函数创建参数,Eclipse就可以帮助您。

可以使用新建类向导 (1) 创建新类(带有包定义)。

Ctrl+1Command+1可以:

  • 当光标位于构造函数参数中时按下时,创建包括私有变量的字段分配 (2, 5)

  • 在光标位于字段中时按下时创建 setter/getter (4)

这需要多个动作/按键,但非常快速和方便,并且非常灵活。

于 2012-12-08T18:36:16.873 回答
2

每个像样的 IDE 都应该在很大程度上帮助您。IntelliJ IDEA 中的示例:

使用构造函数创建一个类

IDE 显示未使用构造函数参数的警告。点击Alt+ Enter

创建字段

选择字段

哪些构造函数参数应该转换为字段?

参数

获取器和可选的设置器

在课堂上的任何地方点击Alt+ :Insert

创建获取/设置

选择字段以创建 getter 和 setter

选择字段

IntelliJ还可以帮助您编写toString()和.equals()hashCode()


...或考虑

case class NameOfObject(var a: String, var b: String, var c: String)

上面的声明创建了NameOfObject具有三个字段的类,getter setter(用于@BeanProperty遵循 POJO 约定)toString()equals()并且hashCode()已经实现。在一条线上。

于 2012-12-08T18:36:18.853 回答