源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

浅析java中Integer传参方式的问题

  • 时间:2020-06-02 07:00 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:浅析java中Integer传参方式的问题
Java本身都是值传递式的调用,对于对象传递的是地址值。给地址值重新赋值等于重新指向,不会影响外层。 而且这里Integer对象也有特殊性。其实现上可能类似
[u]复制代码[/u] 代码如下:
class Integer{ final int value; //一旦赋值,就不能改变。 }
[b]这就出现:[/b]调用时传的地址值不能改变外层+对象本身又不能改变。导致这个值没法改变 [b]解决方案很多 1、[/b]java风格就是,单个值用返回值。return i; 外面再i=foo();赋值;多个值用数组或对象。 [b]2、[/b]传递自己的封装类。class MutableInteger{ int value;} [b]3、[/b]传递专用AtomicInteger原子整型对象
[u]复制代码[/u] 代码如下:
    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,尽量避免
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部