繁体   English   中英

如何从另一个类访问ArrayList

[英]How to access an ArrayList from another class

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

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

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

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

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

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

public ArrayList getDeletedValues() {
    return deletedValues;
}

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

看看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类的当前实例传递给您正在使用的类更有益或类似的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM