--- 非常感谢您留下的评论和提示!我解决了我的问题!---
我有一个问题,这里是我的 Java 代码:
ArrayList<Row> row = getARowList();
while (data.readRecord()) {
double houseId = data.getSomething();
int buildTime = data.getSomethingElse();
for (Row row : rows) {
// !!!!!!
row.setAge("DefaultValue"); // !!!!
// !!!!!**
if (row.getID() == houseId) {
if (buildTime < 2009 && buildTime > 1000) {
if ((2009 - buildTime) > 30) {
row.setAge("OLD");
} else {
row.setAge("NEW");
}
}
}
}
}
for (Row row : rows) {
System.out.println("Strange Thing: " + row.getAge());
}
如果我运行这个,我得到输出:
奇怪的东西:默认值
奇怪的东西:默认值
奇怪的东西:默认值
奇怪的东西:默认值
奇怪的东西:默认值
奇怪的东西:默认值
奇怪的东西:新
如果我删除“!!!!!!”之间的行 (row.setAge("DefaultValue");) 那么结果是:
奇怪的东西:旧的
奇怪的东西:旧
的奇怪的东西:新
的奇怪的东西:null
奇怪的东西:旧
的奇怪的东西:null
奇怪的东西:新
的只是举例。最后一个就是我想要的。我只想用“DefaultValue”替换“null”。但是当我之前设置默认值时(参见“!!!!!!”)结果是错误的,除了最后一个值之外的所有值都具有值“DefaultValue”。
有人对此有解释吗?我在这里坐了2个小时,我基本上不明白出了什么问题。提前致谢!