java字典作为类的不同实例的参考
我正试图找到以下问题的解决方案:
我有一个类Alert
,它被创建了很多次,它的实例显示为:List<Alert>
类型的字段。
Alert
的一个字段假设使用一个预定义字典的映射(该项从不更改)。
我如何配置map
,这样就不必在每次创建Alert
时都创建它
意思是:
public class Alerts {
private List<Alert> list;
.
.
.
public Alerts() {
list = new ArrayList<Alert>();
for (...) {
Alert alert = new Alert();
list.add(alert);
}
}
}
public class Alert() {
private String str = "";
.
.
.
public Alert() {
for (int i = 0; i < map.size; i++) {
str += map.get(i); //map is visible and never changes for any
//instance
}
}
}
# 1 楼答案
如果类的所有实例都将使用相同的数据,则应该使用静态字段。此外,您还可以使地图不可修改(只是为了确保您或其他人不会把它弄糟)
PS:如果你有一个
Map<Integer, String>
,哪些键是连续的(0,1,2,3,4…)然后考虑一个^ {CD2}},因为列表索引执行与本例中的键相同的目标。# 2 楼答案
听起来
map
应该是类的静态成员。您可以在静态初始值设定项块中初始化它