Java – 参数和增强的For循环复制问题

假设我有这样的代码;

public void insert(Student[] stus)
{
    int count = 0;
    for(Student s: stus)
    {
    s.setId( bla bla);
    stus[count].setId(bla bla) // is this line needed?
    count++;
    }
}

因此,如果我从增强的for循环更改s上的任何内容,我是否也可以看到stus数组中的更改?循环复制的增强如何在参数或其他东西中起作用?

解决方法:

增强的for循环不会创建正在迭代的Collection或数组元素的副本,因此s.setId()和stus [count] .setId()将更新同一Student实例.

不需要stus [count] .setId(bla bla),因为s.setId(bla bla)也是如此.

上一篇:Java10的新特性


下一篇:java – 有没有办法将数组复制到具有较少元素数的相同数组