假设我创建了一个 A 类实例,其中包含一个字段 int value
.
int D;
A test = new A();
test.value = 3;
我想创建一个变量D
它将链接到类实例的测试值。每当这个值改变我的变量 D
将更改为。如果我知道链接,我就可以做到这一点。当发生更改时,我可以简单地执行以下操作:
D = test.value;
但是,假设我想要 D
在程序运行时链接到不同的值(来自其他实例,比如说 test2
、 test3
)。在这种情况下,我可以使用 switch 语句并根据链接使用不同的命令。
switch (help_var):
case 1:
D = test.value;
break;
case 2:
D = test2.value;
break;
case 3:
D = test3.value;
break;
改变指针会非常有用。当程序运行时,我的指针会改变。在 C 语言中,我会在每种情况下执行以下操作:
D = *pointer;
有没有办法将(test.value)引用放入变量中并在Java中使用类似的东西?
最佳答案
事实证明,从 1.8 版开始,java 已经内置了此功能 IntegerProperty类,但由于它的 API 在某种程度上超出了这个问题的范围,所以让我也给出一个极简的例子:
public class IntContainer {
private int i;
public int getValue();
public void setValue(int value);
}
这样的容器类将与 C 指针做大约相同的事情,尽管比较它们首先没有意义。
但是,当您将 int value
替换为 IntContainer 指针
(或 IntegerProperty )并更改 IntContainer 的
值时,修改对于每个持有对同一 IntContainer
的引用的实例。
关于java - 由于指针不存在,我该如何在java中执行此操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48240733/