手机
当前位置:查字典教程网 >编程开发 >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开发之MD5加密算法的实现

java stringbuffer的用法示例

浅析java中print和println的区别

浅析Java Mail无法解析带分号的收件人列表的问题

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

java线程之join方法的使用介绍

浅析Java中print、printf、println的区别

深入解析java中的locale

浅析java程序中hibernate的应用总结

java中文转全拼工具类分享

精品推荐
分类导航