在java

时间:2015-11-30 22:54:59

标签: java

我有一个树实现,其中TreeNode包含Tree myTree的字段parent(this),以检查treeNode是否属于父级。

当我删除一个节点(级联方式)时,我将treeNode及其所有子节点的值更改为null以避免使用不当(效率有点但需要)。

现在的问题是: 当要更改的treeNode是根时,更新“重新创建”树(将内存值更改为新的,更改指针或类似内容)以获取“this”的新值,而不是更改每个treeNodes值为空。

类似的东西:

this = new Tree<E>();

所有在类树中;

另一个问题是我无法将值返回到外部变量,因为remove()已经返回了被淘汰的treeNode的值。

1 个答案:

答案 0 :(得分:0)

Java使用按值调用。因此,您无法将对象内的引用更改为将影响调用方的新引用。

任何其他对象都没有使用完全相同的引用。