我知道以前可能有人问过这个问题,但我找不到我的具体问题的具体答案。我已经尝试掌握 Java 对引用的处理,但这仍然让我困惑。考虑以下因素:
public class Question
{
private boolean isCorrect;
public void setCorrect (boolean _isCorrect) {
isCorrect = _isCorrect;
}
}
现在,在另一个文件中的代码中的某个位置:
/**
* questionList is List<Question> questionList = new ArrayList<Question>();
* With various Question's added already with various isCorrect values.
*/
for (int i = 0; i < questionList.size(); i++) {
Question q = (Question) questionList.get(i);
q.setCorrect(true);
}
这会将 questionList
中每个问题的 isCorrect
设置为 true 吗?据我了解Java(我认为我不了解)它应该如此。但真的是这样吗?
谢谢
最佳答案
是的,会的。这是在两个地方引用的同一个对象。
关于Java - 如果我更改列表中的项目,列表中的对象也会更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9593479/