-2

int enumerate(Thread[] list)函数使用有关活动线程的信息更新指定list[]的(调用函数)。这怎么可能?将list[]作为参数传递给没有引用的枚举函数,并且该函数仅返回一个 int 值。那么所做的更改如何list[]反映在调用函数中list[]???

4

1 回答 1

0

在 Java 中,一切都是按值传递的,但是您将对象实例的引用对象实例本身混淆了。

在您的情况下,数组的引用list[]是按值传递的,这意味着无论您修改引用(例如doing list[] = new list[5],当方法结束时,这个新引用都会丢失,因为它是按值传递的(即a原始值的副本已发送到方法)。

但是你确实可以修改这个引用指向的对象实例(例如list[5] = new Thread()),当方法返回时,这个对象将保持修改状态(如果对象是可变的,那就是)。

于 2014-06-10T14:23:45.140 回答