我实际上看不到 Java如何管理对象的引用传递。我揭露这种情况是为了表达我的怀疑。
public class Clase {
public void metodo (int i, Integer objeto) {
i++;
objeto++;
}
}
public class Main {
public static void main(String[] args) {
int i = 5;
Integer object = new Integer(8);
System.out.println(i);
System.out.println(object);
new Clase().metodo(i, object);
System.out.println(i);
System.out.println(object);
}
}
我打印的所有内容都是:
5
的8
的5
8
所以,只要我在方法中接收一个原语和一个对象,该对象是否也不应该从该方法中改变?
答案 0 :(得分:3)
您使用的示例对象(Integer
)是不可变对象(与String
相同)。尝试使用非不可变对象的相同示例,您将得到预期的答案。