类:
public class Nomenklatura implements Serializable {
ArrayList<String> data = new ArrayList<String>();
ArrayList<String> data1 = new ArrayList<String>();
ArrayList<String> data2 = new ArrayList<String>(6);
}
Activity:
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;
之前看到Asortiment.data的数据,但是在此操作之后,ArrayList data就为空了,不知道为什么?
数组这种东西是引用类型。就是说你持有的只是一个引用,里面的数据可以被其他人修改。
如果Asortiment在这之后把数据里面的东西清空了,则你这个data会为空。
如果要保存一个副本,则应该进行数组的拷贝操作。
ArrayList data = Asortiment.data.clone();