recherche

Maison  >  Questions et réponses  >  le corps du texte

java中Integer传参方式什么是样的?

java中Integer传参方式什么是样的?

baby不要哭泣baby不要哭泣2840 Il y a quelques jours823

répondre à tous(2)je répondrai

  • 数据分析师

    数据分析师2017-10-01 00:29:59

    Quelle est la méthode de transmission des paramètres Integer en Java ? - Questions et réponses sur le site Web chinois PHP - Quelle est la méthode de transmission des paramètres entiers en Java ? - Questions et réponses sur le site Web chinois PHP

    Veuillez regarder et apprendre.

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-02-24 13:09:50

    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,尽量避免


    répondre
    0
  • Annulerrépondre