gpt4 book ai didi

java - 由于指针不存在,我该如何在java中执行此操作?

转载 作者:行者123 更新时间:2023-12-01 20:00:12 25 4
gpt4 key购买 nike

假设我创建了一个 A 类实例,其中包含一个字段 int value .

int D;
A test = new A();
test.value = 3;

我想创建一个变量D它将链接到类实例的测试值。每当这个值改变我的变量 D将更改为。如果我知道链接,我就可以做到这一点。当发生更改时,我可以简单地执行以下操作:

D = test.value;

但是,假设我想要 D在程序运行时链接到不同的值(来自其他实例,比如说 test2test3 )。在这种情况下,我可以使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com