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
,它包含一个ArrayListClass1
将向列表中添加一个字符串,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中返回字符串。