gpt4 book ai didi

java - 按引用/值传递 - 简单示例

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:18:29 24 4
gpt4 key购买 nike

我知道这个问题已经解决了很多次 - 但我的 Java/C++ 知识太薄弱了,我几乎无法理解答案:-( ...我真正想要的只是一个 super 简单的例子。

在 C++ 中,我可以编写以下内容:

void func()
{
int x = 3;
add_one(x);
// now x is 4.
}
void add_one(int &var)
{
var++;
}

我现在想看到的是用java实现同样效果的最简单的方法。

最佳答案

你不能直接。最接近的方法是将值放在一个对象中,然后将引用(按值,因此引用被复制)传递到方法中。

void func()
{
int x = 3;
int[] holder = [x];
add_one(holder);
// now holder[0] is 4. x is still 3.
}

// container here is a copy of the reference holder in the calling scope.
// both container and holder point to the same underlying array object
void add_one(int[] container)
{
container[0]++;
}

这里我使用了一个数组,但是包装器可以是任何对象。

关于java - 按引用/值传递 - 简单示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11437363/

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