ThreadGroup的enumerate()方法是如何工作的?

时间:2014-06-10 14:14:46

标签: java enumerate threadgroup

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

1 个答案:

答案 0 :(得分:0)

在Java中,所有内容都通过按值传递,但您将对象实例的引用对象实例本身混淆

在您的情况下,数组list[]的引用按值传递,这意味着无论您是否修改引用(例如执行list[] = new list[5],当方法结束时,此新引用将丢失,因为它是通过值传递的(也就是说,原始值的副本被发送到方法)。

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