gpt4 book ai didi

java - 允许 ArrayList 在不同的类中使用

转载 作者:行者123 更新时间:2023-12-01 17:19:23 26 4
gpt4 key购买 nike

如果我创建一个将文本读入ArrayList的类。如何在其他类中访问这个ArrayList?我该如何在类中声明 ArrayList?

那么当我想要一个不同的类访问它时,我该怎么做呢?我已经尝试将其设为静态,但我仍然不知道如何在其他类中访问它。

最佳答案

将其声明为成员,例如

public class A {
public final List<MyObj> list = new ArrayList<MyObj>();
}

然后

A a = new A();
a.list; // there you go

(请注意,我已将其声明为 List,而不是 ArrayList。这是一个实现问题,我可以简单地选择将其公开为 Collection。它也被标记为 final,因为我不想无意中更改它。如果需要,我可以稍后恢复该决定)。

最好将其设为私有(private)并通过访问器访问它,例如

public class A {
private final List<MyObj> list = new ArrayList<MyObj>();

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

A a = new A();
a.getList();

虽然你的类(class)外部的人可以修改它(!)。因此,您可以在公开它之前复制它,或者使用Collections.unmodabilibleList()包装它。

最好仍然完全隐藏它并要求A类为您做一些事情(这可能涉及该列表 - 这是一个实现细节)

public class A {
private final List<MyObj> list = new ArrayList<MyObj>();

public void doSomethingForMe() {
for (MyObj obj : list) {
// do something...
}
}
}

关于java - 允许 ArrayList 在不同的类中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19822192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com