ryb*_*ome 7 java foreach reference
我知道Java并不真正使用精确的引用传递,而是通过引用副本传递.这就是为什么刚尝试交换引用的交换函数在Java中不起作用的原因.for-each循环是否也这样做?例如,给出以下代码......
for (Constraint c : getLeafNodes(constraintGraph)){
c = new Constraint();
}
Run Code Online (Sandbox Code Playgroud)
...我想通过一个递归定义的树状结构,找到所有叶子节点.每个叶节点都需要用新的空节点替换.这会做我期望的,还是只是将每个叶节点的引用副本设置为新节点?
我在另一段传递单元测试的代码上写了一个类似的方法,这让我觉得for-each循环使用引用,而不是引用副本,但我们的代码质量软件将此标记为局部变量的死存储,主要错误.
谢谢.
Chr*_*son 10
它也不会这样做.这与说法相似
Object c = getObject();
c = new Object();
Run Code Online (Sandbox Code Playgroud)
你所做的就是改变所指的东西c.即使Java支持真正的pass-by-reference,这也行不通
| 归档时间: |
|
| 查看次数: |
5137 次 |
| 最近记录: |