我正在尝试找到一种方法将内容从我的类中的ArrayList复制到我目前正在使用的类中。
这就是我的代码目前在类中我希望将内容传输到的方式:
MainActivity MA = new MainActivity();
ArrayList<String> deletedValues = new ArrayList<String>();
for(String item :MA.deletedItems){
deletedValues.add(item);
}
此外,如果重要的话,MainActivity中的ArrayList具有私有的修饰符
上面的代码不会导致任何错误,但不会将任何值返回给新的ArrayList,deletedValues。
答案 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
类的当前实例传递给您通过构造函数或类似方法使用的类。