反映类的另一个对象的成员字段,以在Java中充当指针
我有一个名为反映类的另一个对象的成员字段,以在Java中充当指针,java,pointers,data-structures,nodes,Java,Pointers,Data Structures,Nodes,我有一个名为classA的类,它的成员remainingValues类型为ArrayList classA的类结构: classA { ... ArrayList<Pair<Integer,classA>> remainingValues; } 还有另一个类classB,它将classA的对象初始化为objB1,然后将remainingValues的所有值复制到其中。但是,它不能作为此新初始化对象的引用 现在,我更新objB1中的remainingVal
classA
的类,它的成员remainingValues
类型为ArrayList
classA的类结构:
classA {
...
ArrayList<Pair<Integer,classA>> remainingValues;
}
还有另一个类classB
,它将classA
的对象初始化为objB1
,然后将remainingValues的所有值复制到其中。但是,它不能作为此新初始化对象的引用
现在,我更新objB1
中的remainingValues
,remainingValues中的值如下:
<5, classA>
|
-> <4, classA>
|
-> <2, classA>
|
-> <3, null>
有了这段代码,我只能在第一个级别上的值为null时更新,但是如果它在另一个级别上,我就无法更新
谢谢。你能写一些代码来说明你写这篇文章的意图,它是如何工作的,你希望它是如何工作的,等等吗?编写一个更新的代码部分。我只能在第一层找到节点时进行更新。如果它在下一个级别,它不更新。你能显示你用C++来做这项工作吗?在C++中,它有一些类似向量剩余值的东西;因此,无论在classA中保留值做了什么,它都会在代码中反映出来,因为它被用作指针。我不明白,既然你可以更新objB1,为什么不能用同样的方式更新objA。你能写一些代码来展示你写这篇文章的尝试、它的行为、你期望它的行为等等吗?编写一个更新的代码部分。我只能在第一层找到节点时进行更新。如果它在下一个级别,它不更新。你能显示你用C++来做这项工作吗?在C++中,它有一些类似向量剩余值的东西;因此,无论它在classA中的remainingValues中做了什么,它都会在代码中反映出来,因为它被用作指针。我不明白,既然可以更新objB1,为什么不能以同样的方式更新objA。
<5, classA>
|
-> <4, classA>
|
-> <2, classA>
|
-> <3, null>
public void updateRemainNodes(classA node) {
if (!obj1A.remainingValues.isEmpty()) {
for (int i=0; i<obj1A.remainingValues.size(); i++ ) {
if (node.getName() == obj1A.remainingValues.get(i).getLeft()) {
obj1A.remainingValues.get(i).setPair(node.getName(), node);
}
}
}
}