有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    onCreate方法是生成新的局部变量,而不是分配给成员变量。如果你在写data = Asortiment.data;时没有前面的ArrayList<String>声明(在下面两行上也是如此),它就可以工作了