手机
当前位置:查字典教程网 >编程开发 >Java >浅析java中Integer传参方式的问题
浅析java中Integer传参方式的问题
摘要:Java本身都是值传递式的调用,对于对象传递的是地址值。给地址值重新赋值等于重新指向,不会影响外层。而且这里Integer对象也有特殊性。其...

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中toString方法的作用

java中原码、反码与补码的问题分析

java list去重操作实现方式

java N皇后实现问题解析

浅析Java中Split函数的用法技巧

java中tomcat的80端口被占用问题解决

java 字浮串提取方法汇集

浅析java中print和println的区别

深入解析Java中volatile关键字的作用

浅谈java中静态方法的重写问题详解

精品推荐
分类导航