gpt4 book ai didi

java - 我们如何在 main 方法中通过其他方法更新 boolean 值

转载 作者:行者123 更新时间:2023-11-30 07:08:06 25 4
gpt4 key购买 nike

请忽略格式和句子相关的问题。

class ABC 
{
public void change(Boolean x, Boolean y, StringBuffer s)
{
x=true;
y=true;
s.append("vinay");
}

public static void main(String a[])
{
Boolean x = false;
Boolean y = false;
x=false;
y=false;
StringBuffer s = new StringBuffer();
s.append("jasi");
ABC p= new ABC();
p.change(x,y,s);

System.out.println(x);
System.out.println(y);
System.out.println(s);
}
}

我想得到我在 change() 方法中为 boolean 值 x,y 在 main() 方法中所做的所有更改,因为我们在 main 函数中修改了 s。有什么方法可以在main方法中获取修改后的值。

最佳答案

Java 按值 传递参数,因此调用者看不到在 change() 方法中所做的所有更改。

为了做你想做的事,你可以:1. 将此变量定义为类成员。2.将它们作为方法的返回值返回。是的,你只受一个返回值的限制,但如果你想创建 boolean 数组或创建包含两者的特殊类。3.您可以传递给包含 boolean 值的方法可变容器。其中一种方法是为此使用 AtomicBoolean:

public void change(AtomicBoolean x, AtomicBoolean y, StringBuffer s) {
x.set(true);
y.set(true);
s.append("vinay");
}

public static void main(String a[]) {
AtomicBoolean x = new AtomicBoolean(false);
Boolean y = = new AtomicBoolean(false);
change(x, y);
System.out.println(x.get() + ", " + y.get()); // will print true true
}

关于java - 我们如何在 main 方法中通过其他方法更新 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24271949/

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