如何将列表中的存储值从一个类传递到另一个类而不在java中重复

时间:2011-10-23 10:33:35

标签: java

我有一个类类型列表,名为storeValues,声明为:

private List<Myclass> storeValues = new ArrayList<Myclass>();

和名为selected的相同类类型的变量声明为:

private Myclass selected;

我将它们保存在删除之前(要求)为:

public String deleteAction() {
    saveValues(selected);
    fillRows.remove(selected);
    return null;
} 

//saveValues Function

public List<Myclass> saveValues(Myclass selected)
{  

    storeValues.add(selected);   
    return storeValues;  

}

现在我希望在此列表(storeValues)中存储的所有这些值都在其他类中。我怎么能这样做。

2 个答案:

答案 0 :(得分:0)

在java对象中通过引用传递,所以只返回storeValues。如果您不希望外部对象修改它,您必须传递副本或将其包装到不可修改的列表代理 - java.util.Collections.unmodifiableList(storeValues)中。它将列表包装到精简的只读访问器类中,而不复制基础列表的内容。

答案 1 :(得分:0)

这取决于您的班级架构。您基本上有三种选择:

  1. 从这个类中调用另一个类
  2. 中的setStoreValues(List)
  3. 向此类添加List getStoreValues()并从其他类
  4. 调用它
  5. 从第三类调用两种方法