public class Test {
public static void main(String[] args) {
int i = 50;
Integer j = new Integer(i);
int b = Test.sum(j);
System.out.println(b);
}
public static int sum (Integer integer){
return integer = +integer;
}
}
为什么输出是50,能讲讲么

解决方案 »

  1.   

    return integer = +integer;这是啥意思?return integer = ++integer;这就是51就是这样
      

  2.   

    嗨~!差点被忽悠了~!return integer = +integer;没见过,应该是return integer += integer;[/
      

  3.   

        值传递和引用传递的区别     不懂?     传入的值经过sum()不会影响本体!   所以输出的值还是然来的!
      

  4.   

    +integer 即 integer, 就好比 50 和 +50是一回事儿一样。integer = +integer; 即 integer = integer; 没有任何改变(当然也没有任何意义要这样做)
      

  5.   

    好像应该是“integer+=integer;”吧。
      

  6.   

      不管是return integer = ++integer;    还是return integer +=integer;
      输出的结果都会是50!!!!
      
      

  7.   

    integer = +integer;
    会被编译称integer.x = +integer.x;
      

  8.   

    一个封装类对象的值是永远不会变的,再加上Java方法形参都是值传递,就可以解释这个问题了
      

  9.   

    语法错了, interger += interger