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;
}
}