手机
当前位置:查字典教程网 >编程开发 >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中子类调用父类构造方法的问题分析

java中定义常量方法介绍

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

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

浅析Mybatis 在CS程序中的应用

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

深入分析Java内存区域的使用详解

java stringbuffer的用法示例

探讨Java中最常见的十道面试题(超经典)

java list去重操作实现方式

精品推荐
分类导航