嗨,我在 Stack Overflow 上阅读了这个问题,并试图做一个例子。
我有以下代码:
public static void main(String[] args){
int i = 5;
Integer I = new Integer(5);
increasePrimitive(i);
increaseObject(I);
System.out.println(i); //Prints 5 - correct
System.out.println(I); //Still prints 5
System.out.println(increaseObject2(I)); //Still prints 5
}
public static void increasePrimitive(int n){
n++;
}
public static void increaseObject(Integer n){
n++;
}
public static int increaseObject2(Integer n){
return n++;
}
打印 5是否increaseObject
因为引用的值在该函数内部发生了变化?我对吗?我很困惑为什么increasedObject2
打印 5 而不是 6。
谁能解释一下?