Java 如何访问另一个类的ArrayList而不每次生成新实例?

Java 如何访问另一个类的ArrayList而不每次生成新实例?,java,list,arraylist,instance,Java,List,Arraylist,Instance,我想做的是有一个单独的类,比如说MyArrayListClass,它包含一个ArrayListClass1将向列表中添加一个字符串,Class2将检索列表 我目前的做法是,每次按下按钮,我都会创建MyArrayClass的一个新实例,并向arraylist添加一个元素,如下所示:MyArrayClass.newInstance.addToList(“示例字符串”)通过调用UserHexData.newInstance().getList()检索列表 当我创建MyArrayListClass的新实

我想做的是有一个单独的类,比如说
MyArrayListClass
,它包含一个ArrayList
Class1
将向列表中添加一个字符串,
Class2
将检索列表

我目前的做法是,每次按下按钮,我都会创建MyArrayClass的一个新实例,并向arraylist添加一个元素,如下所示:
MyArrayClass.newInstance.addToList(“示例字符串”)通过调用
UserHexData.newInstance().getList()检索列表

当我创建MyArrayListClass的新实例时,列表中以前的值现在消失了。调用MyArrayListClass将返回null,因为创建一个新实例将创建一个新的ArrayList

 public class MyArrayListClass {
//The class containing my ArrayList business logic

            private List<String> list;

    public static MyArrayListClass newInstance() {

        return new MyArrayListClass ();
    }

    public MyArrayListClass (){

        list = new ArrayList<>();

    }

public void addToList(String hex) {
        list.add("Some Sting" );
    }

    public List<String> getList() {
        return list;
    }

}
公共类MyArrayListClass{
//包含我的ArrayList业务逻辑的类
私人名单;
公共静态MyArrayListClass newInstance(){
返回新的MyArrayListClass();
}
公共MyArrayListClass(){
列表=新的ArrayList();
}
公共void addToList(字符串十六进制){
添加(“一些刺”);
}
公共列表getList(){
退货清单;
}
}

有没有一种方法可以访问另一个类的ArrayList而不必每次生成新实例?

您可以为此创建一个单例模式

见:

为什么不在数组列表中保留对类的引用?我不明白您试图通过使用newInstance()方法实现什么(这正是删除您先前添加的所有元素的目的)。是否有理由在每次按下按钮时都需要一个新的MyArrayList类?另一个类不应该访问列表。相反,您应该遍历列表,然后在ArrayList中返回字符串。