我不能在下面的函數中添加一個整數,它仍然打印5.任何人都可以解釋這個嗎?不能添加一個變量通過函數傳遞
public class HelloWorld {
public static void main(String[] args) {
int x = 5;
System.out.print('Hello world~~~~~');
for(int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
System.out.println(Runtime.getRuntime().maxMemory());
System.out.println(Runtime.getRuntime().totalMemory());
System.out.println(Runtime.getRuntime().freeMemory());
OnePlusNumber(x);
System.out.println(x);
Date date = new Date();
System.out.println(date);
}
private static Integer OnePlusNumber(int number) {
number += 1;
return number;
}
}
你確定這個代碼編譯? –
Java總是按值傳遞,所以在你的方法中你編輯了一個x的cpoy,而不是x本身(更多在這裏:http://stackoverflow.com/questions/40480/is-java-pass-by-reference-或按價值傳遞) – kajacx