在Java中传递参数

sum*_*000 1 java arguments

这里有Java新手,请帮忙.如何在java中传递参数?为什么我无法在调用方法中更改调用方法中的参数值?

public class PassTest {
    public static void changeInt(int value)
    {
         value=55;
    }

    int val;
    val=11;
    changeInt(val);
    System.out.println("Int value is:" + val);// calling modifier changeInt 
}
Run Code Online (Sandbox Code Playgroud)

产量

Int value is: 11

为什么它不是55 ..?

Mar*_*ers 5

Java按值传递,而不是通过引用传递.在您的方法中value包含值的副本val.修改副本不会更改原始变量.

int如果希望调用者可以看到更改,则可以传递包装在对象内部.例如,您可以使用该类org.apache.commons.lang.mutable.MutableInt.

  • 呃...更具体的是什么?你可以说得更详细点吗? (4认同)