Java - 如果我更改列表中的项目,列表中的对象也会更改吗?

标签 java arraylist

我知道以前可能有人问过这个问题,但我找不到我的具体问题的具体答案。我已经尝试掌握 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/

相关文章:

java - 线程调度-notify调用后线程如何获取锁

java - 将对象的数组列表返回给 servlet 的 ajax 调用

java - 验证 ArrayList 的元素以匹配参数 (Java)

java - HQL获取拥有集合中所有项目的元素

java - JDic怎么了?有替代项目吗?

java - 如何通过改造接收来自服务器的消息?

java - 数据库返回无法解读的代码

java - ArrayList 搜索总是返回最后一个对象

android - Recyclerview 将 ID 从数组传递到另一个 Activity onClick 返回随机 id

用于 Twitter : JTwitter, Twitter4J 或 Grails 插件的 Java/Grails 库?