考虑下面的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中,原始包装类是不可变的