Java android ArrayList在getter方法之后为空
我有一个实现getter和setter方法以及相关代码的类,如下所示Java android ArrayList在getter方法之后为空,java,android,eclipse,Java,Android,Eclipse,我有一个实现getter和setter方法以及相关代码的类,如下所示 ArrayList<String> viewArray = new ArrayList<String>(); public ArrayList<String> getView() { return viewArray; } ArrayList viewArray=new ArrayList(); 公共阵列列表getView(){ 返回视图数组; } 在我的活动中,我尝试访问存储阵列,如
ArrayList<String> viewArray = new ArrayList<String>();
public ArrayList<String> getView() {
return viewArray;
}
ArrayList viewArray=new ArrayList();
公共阵列列表getView(){
返回视图数组;
}
在我的活动中,我尝试访问存储阵列,如:
ArrayList<String> al = new ArrayList<String>();
al = parsedExampleDataSet.getView();
ArrayList al=new ArrayList();
al=parsedExampleDataSet.getView();
但是“al”没有收到任何数据。但是,当执行getView()时,viewArray被正确填充。我错过了什么?谢谢。其他人发表了一些好的评论,但我想我会带您浏览我看到的代码
public class SomeClass {
// this is local to this class only
ArrayList<String> viewArray = new ArrayList<String>();
public void process() {
// i'm guessing there is some sort of processing method that is called
}
public ArrayList<String> getView() {
return viewArray;
}
}
请编辑您的问题,以进一步解释您遇到的问题。为什么给
al
一个初始值,却用调用getView()
的结果替换该值?现在还不清楚什么时候是空的……如果parsedExampleDataSet.getView()返回一个列表,应该不会有问题。调试它,在这一行上放置一个断点al=parsedExampleDataSet.getView();您将看到getView()返回空列表。之前的代码使列表为空或其他内容。之前没有代码,因为在调试时,执行getView()时,viewArray已正确填充。但是,al不像viewArray那样填充。如果更多的代码将是有益的,我将很高兴发布它,也许你隐藏了其他实例viewArray。在调试期间检查两个对象的哈希代码(在eclipse实例ID中)
public class YourActivity {
ArrayList<String> al = new ArrayList<String>();
public void someMethod() {
// here a1 will be the same blank List you initialized it with
// unless someMethod() has been called before or a1 modified elsewhere
al = parsedExampleDataSet.getView();
// after the call to getView, a1 is now a reference to SomeClass.viewArray
// the ArrayList that a1 was initialized with is then garbage collected
}
}