java分配的变量神秘地变为null
我有课:
public class Nomenklatura implements Serializable {
ArrayList<String> data = new ArrayList<String>();
ArrayList<String> data1 = new ArrayList<String>();
ArrayList<String> data2 = new ArrayList<String>(6);
}
和活动:
public class Smena extends Activity {
public Nomenklatura Asortiment;
ArrayList<String> data = new ArrayList<String>();
ArrayList<String> data1 = new ArrayList<String>();
ArrayList<String> data2 = new ArrayList<String>(6);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.smena);
Intent i= getIntent();
Asortiment = (Nomenklatura) i.getExtras().getSerializable("Nomenklatura");
ArrayList<String> data = Asortiment.data;
ArrayList<String> data1 = Asortiment.data1;
ArrayList<String> data2= Asortiment.data2;
}
}
在调试器中,在ArrayList<String> data =Asortiment.data;
之前,我在一个分区中看到数据。数据,但在此操作之后,ArrayList<String> data
为空。我不明白为什么
# 1 楼答案
onCreate方法是生成新的局部变量,而不是分配给成员变量。如果你在写
data = Asortiment.data;
时没有前面的ArrayList<String>
声明(在下面两行上也是如此),它就可以工作了