Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我的模型类、数据不正确?_Java_Android - Fatal编程技术网

Java 为什么我的模型类、数据不正确?

Java 为什么我的模型类、数据不正确?,java,android,Java,Android,为什么我的模型类数据不正确 List<DataMasterList> dataMasterLists = new ArrayList<DataMasterList>(); private void addMaster() { for (int i = 0; i < 6; i++) { DataMasterList dataMasterList = new DataMasterList(); dataMasterList.se

为什么我的模型类数据不正确

List<DataMasterList> dataMasterLists = new ArrayList<DataMasterList>();

private void addMaster() {
    for (int i = 0; i < 6; i++) {
        DataMasterList dataMasterList = new DataMasterList();
        dataMasterList.setMaster_code("000" + i);
        dataMasterList.setProduct_name("name" + i);
        dataMasterList.setAmount(4 + i + "");
        dataMasterList.setUnit_price(10 + "");
        dataMasterLists.add(dataMasterList);
        Log.d("test1",dataMasterLists.get(i).getMaster_code()+" ");
    }

    Log.d("test2",dataMasterLists.get(0).getMaster_code()+" ");
}

为什么
test2=0005


为什么
datamasterlist
中的每个值都是
0005

问题在于更改字段类行为的访问修饰符。 您混淆了类实例变量和类变量

案例1(实例变量)

私有字符串主代码您只能使用访问器方法访问此字段,并且当您创建新实例时,每个实例都有自己的字段

案例2(静态变量)

静态字符串主代码可以直接访问字段,而无需访问器方法,也无需创建对象的任何实例。无论如何,如果您像在您的案例中那样创建实例,当您上次修改主代码时,它将影响所有实例


不要将代码作为图像发布。将其作为文本发布使用调试器找出代码不工作的原因根据这一点,可能是由于类中的静态字段。您可以添加DataMasterList类代码吗?将您的
DataMasterList
类也张贴在此处您的期望是什么?
test1: 0000
test1: 0001
test1: 0002
test1: 0003
test1: 0004
test1: 0005

test2: 0005
public class DataMasterList {

    private String masterCode;

    public DataMasterList() {
        // TODO Auto-generated constructor stub
    }

    public  String getMasterCode() {
        return this.masterCode;
    }

    public  void setMasterCode(String masterCode) {
        this.masterCode = masterCode;
    }
public class DataMasterList {

    static String masterCode;

    public DataMasterList() {
        // TODO Auto-generated constructor stub
    }

    public static String getMasterCode() {
        return masterCode;
    }

    public static void setMasterCode(String masterCode) {
        DataMasterList.masterCode = masterCode;
    }

}