Java 在创建时或创建后将对象添加到列表

Java 在创建时或创建后将对象添加到列表,java,arraylist,Java,Arraylist,在java中,我希望创建每个对象,并将其添加到objectsamples列表中。 有没有一种方法可以在构造函数中实现这一点,比如: public ObjectSample() { mObjectSamples.add(this); } 或者我必须在创建后调用add方法。您不能更改对象类的构造函数 在一个类中可以有一个构造函数,用于将新创建的实例添加到静态集合中 public YourClass { public static List<YourClass> lis

在java中,我希望创建每个对象,并将其添加到objectsamples列表中。 有没有一种方法可以在构造函数中实现这一点,比如:

public ObjectSample() {
    mObjectSamples.add(this);
}

或者我必须在创建后调用add方法。

您不能更改
对象
类的构造函数

在一个类中可以有一个构造函数,用于将新创建的实例添加到静态集合中

public YourClass 
{
    public static List<YourClass> list = new ArrayList<>();
    public YourClass()
    {
        list.add(this);
    }
}
public类
{
public static List=new ArrayList();
公共课
{
列表。添加(此);
}
}

首先创建对象,然后将此对象添加到
列表中

class MyClass{

    private static List<Object> mObjectSamples = new ArrayList<Object>(); 
    private int a,b;

      MyClass(int a, int b){  // initialize your object using parametrized constructor
       this.a = a;  // suppose you have to initialize you a and b member of class.
       this.b= b;
       mObjectSamples.add(this);
      }
 }
class-MyClass{
私有静态列表mObjectSamples=newarraylist();
私人INTA、b;
MyClass(intA,intB){//使用参数化构造函数初始化对象
this.a=a;//假设必须初始化类的a和b成员。
这个.b=b;
mObjectSamples.add(这个);
}
}

将对象的新实例添加到列表中

public class Foo{

    public static List<Foo> list = new List<Foo>();
    public Foo(){
        //Do whatever
    }

    public stativ void main(String args[]){
        list.add(new Foo());
    }

}
公共类Foo{
公共静态列表=新列表();
公共食物({
//做任何事
}
public stativ void main(字符串参数[]){
添加(新的Foo());
}
}

这将通过将新实例作为参数传递给
add()
方法,将对象添加到列表中。

首先,您不能修改库类的构造函数,尤其是
对象的构造函数。然而,我绝对不建议将每个新对象都放在一个列表中,因为有大量的对象你甚至不需要关心,我想不出任何情况下你会想把它们都放在一个列表中

如果需要列表中特定类型的每个对象,例如
元素
,可以简单地定义
元素
类,如下所示:

public class Element
{
    public Element()
    {
        elements.add(this);
        ...
    }
    ...
}

您可以这样做,但要意识到,如果在构造函数内部完成,则在构造函数完成之前,对象尚未完全实现。如果在构造函数完成之前尝试使用列表中的对象,则可能会出现问题。我想知道你是否真的想使用某种工厂来实现这一点。正确,对象被用作示例,这就是我更改它的原因,但无法将未初始化的对象添加到列表中。