Java 如何添加同一对象的不同版本?

Java 如何添加同一对象的不同版本?,java,methods,null,createprocess,Java,Methods,Null,Createprocess,我目前正尝试在每次事件发生时向arrayList添加一系列对象,我使用以下方法: public void nativeMousePressed(NativeMouseEvent e) { if(record == true) { getInfo inf = new getInfo(); infoCtrl info = new infoCtrl(); info.setX(e.getX()); info.setY(e.

我目前正尝试在每次事件发生时向arrayList添加一系列对象,我使用以下方法:

public void nativeMousePressed(NativeMouseEvent e) {

    if(record == true)
    {
        getInfo inf = new getInfo();
        infoCtrl info = new infoCtrl();
        info.setX(e.getX());
        info.setY(e.getY());
        infor.add(inf);


    }


}
Arraylist是全局的,我也有一个全局控制器,我在这里制作了一个,我试着使用这两个。这个版本的代码只有所需的行,但是在实际方法中,我使用println测试每一位,每次,值都在那里,但是在我将对象添加到arrayList之后,所有内容都返回到0,就像第一次创建对象一样

有人能看到这个问题吗?如何解决

多谢各位


注意:当我打印列表的内容时,我得到了我添加到列表中的所有对象,但是它们的值都是0,就像它们刚刚创建一样,尽管在此之前我有一个println,它完美地显示了它们的值。

您将值填入
info
中,然后将
inf
添加到列表中


提示-Java的标准约定是所有类都以大写字母开头。这意味着您将
getInfo
更改为
getInfo
infoCtrl
更改为
infoCtrl
。由于没有遵循约定,因此很难判断列表对象(或者它是一个类)
infor
。(我们通常会发现,使用较长的名称有助于保持简洁。)

是的,我这样做,inf是inf的控制器,问题在哪里?我想我不知道X控制器是什么意思,我也不知道这两个对象如何从您提供的代码中相互了解。通常会有一个类似于
inf.setController(info)
的调用来实现这一点。是的,我对此表示歉意,简单地说,getInfo是模型包中的一个对象,infoCtrl是它的控制器,ArrayList infor是getInfoOk类型的列表。控制器如何知道模型或模型如何知道控制器。您创建了两个新实例,但没有显示连接它们的代码。我只能说这些。您可能需要问题中的更多信息,或者缺少连接这些信息的内容。简单地说,我将控制器设置为实例,然后它的构造函数将getInfo public infoCtrl(){info=new getInfo();}类型的对象设置为getInfo public infoCtrl(),然后它通过public void setWheelDir(int wheelDir)等方法修改其所有值{info.setWheelDir(wheelDir);}public int getwheelmount(){return info.getwheelmount();}