概述
Java本身都是值传递式的调用,对于对象传递的是地址值。给地址值重新赋值等于重新指向,不会影响外层。 而且这里Integer对象也有特殊性。其实现上可能类似 class Integer{ final int value; //一旦赋值,就不能改变。 } 这就出现:调用时传的地址值不能改变外层+对象本身又不能改变。导致这个值没法改变 解决方案很多 1、java风格就是,单个值用返回值。return i; 外面再i=foo();赋值;多个值用数组或对象。 2、传递自己的封装类。class MutableInteger{ int value;} 3、传递专用AtomicInteger原子整型对象 public static void main(String[] 参数) { AtomicInteger i=new AtomicInteger(40); i.intValue(); System.out.println(i); } public static void change(AtomicInteger i) { i.set(55); } 也可以实现传递后改值 , 推荐方案1,尽量避免
最后
以上就是美好电话为你收集整理的java 中 Integer 传参方式的问题的全部内容,希望文章能够帮你解决java 中 Integer 传参方式的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复