如何从另一个类访问ArrayList

时间:2014-01-19 22:20:18

标签: java class arraylist reference

我正在尝试找到一种方法将内容从我的类中的ArrayList复制到我目前正在使用的类中。

这就是我的代码目前在类中我希望将内容传输到的方式:

            MainActivity MA = new MainActivity();
    ArrayList<String> deletedValues = new ArrayList<String>();
    for(String item :MA.deletedItems){
        deletedValues.add(item);
    }

此外,如果重要的话,MainActivity中的ArrayList具有私有的修饰符

上面的代码不会导致任何错误,但不会将任何值返回给新的ArrayList,deletedValues。

2 个答案:

答案 0 :(得分:2)

你可以在包含arraylist的任何类中创建一个get方法,如下所示:

public ArrayList getDeletedValues() {
    return deletedValues;
}

这就是你通常访问私有变量的方式。

答案 1 :(得分:0)

查看Getters and Setters设计模式。这意味着您可以将变量设置为私有,同时以您可以控制的方式为其他类提供访问权限。通常,使用getters and setters的典型类看起来有点像这样:

public class MyClass {
    private int myInt;

    // Setter
    public void setMyInt(int value) {
        myInt = value;
    }

    // Getter
    public int getMyInt() {
        return myInt;
    } 
}

在您提供的上下文中实现时,您可以期望您的代码看起来与此类似,MainActivity类中的getter和setter看起来就像上面的示例。

MainActivity MA = new MainActivity();
ArrayList<String> deletedValues = new ArrayList<String>();
for(String item :MA.getDeletedItems()){
    deletedValues.add(item);
}

但是,我将借此机会指出,除了创建MainActivity类的新实例之外,您可能会发现将MainActivity类的当前实例传递给您通过构造函数或类似方法使用的类。