考虑下面的Java程序。
// Java program to demonstrate that prmitive
// wrapper classes are immutable
class Demo
{
public static void main(String[] args)
{
Integer i = new Integer(12);
System.out.println(i);
modify(i);
System.out.println(i);
}
private static void modify(Integer i)
{
i = i + 1;
}
}
输出:
12 12
参数i在修改中引用并引用与main()中的i相同的对象,但对i的更改未反映在main()中,为什么?思考一下,答案在这篇文章:在Java中,原始包装类是不可变的