java夜猫子程序员交流群:927113708, 公众号(爱码一生): aandb7, 本文笔者总结, 转载请附注明作者和链接.
https://www.cnblogs.com/m-yb/p/11581647.html
先上个代码实例, 大家可以猜下输出结果:
1 package com.github.mayangbo666.test; 2 3 public class IntegerPp2 { 4 public static void main(String[] args) { 5 for (Integer i = 0; i < 1; iPlusPlus(i)) { 6 System.out.println("t1"); 7 } 8 } 9 10 public static Integer iPlusPlus(Integer i) { 11 System.out.println("t2"); 12 System.out.println(((Object) i).toString()); 13 return ++i; 14 } 15 }
这个意外的输出:t1 t2 t1..的无限死循环;
其实这里java基本与对象类型数据类型传入方法修改后是否影响方法外值的结果是不同的,
对象类型当然是影响了,
在这里我想起了在<码出高效>里看到说方法内推荐优先使用基本类型提高性能,
方法间传参优先考虑对象类型,
这里笔者自己找了一篇可以解释这个的博客附上:
https://blog.csdn.net/fenglllle/article/details/81389286#commentBox
另外这个题是wistbean分享的.