我将2个布尔对象传递给一个函数。我知道Java是通过值传递的,但由于我使用对象作为参数,它应该传递这些参数的地址而不是值。但更新函数中的对象值后,我没有看到主要更新的值。我在这里错过了什么?通过包装在原始类型的类中传递基本类型作为通过引用
public class Test1 {
public static void main(String[] args){
Boolean b1 = new Boolean(false);
Boolean b2 = new Boolean(false);
System.out.println(b1+" "+b2);
func1(b1, b2);
System.out.println(b1+" "+b2);
}
static void func1(Boolean b1, Boolean b2){
System.out.println(b1+" "+b2);
b1 = !b1;
b2 = !b2;
System.out.println(b1+" "+b2);
}
}
谢谢@Elliott Frisch – alchemist