我对 Java 还很陌生,最近我正在阅读一些关于 Java 是按值传递的材料。在我自己运行测试之前,我已经阅读了这个问题和这个博客。
现在,根据我的阅读和快速测试,我发现有两种方法可以更改对象引用中包含的变量。以下哪种方法是更好或更安全的方法?这两种方法有什么明显的问题吗?
这两个都打印出“iArr[0] = 45”。
方法一:
public static void main(String args[] ){
int[] iArr = {1};
method(iArr) ;
System.out.println( "iArr[0] = " + iArr [0] ) ;
}
public static void method(int[] n ) {
n [0] = 45 ;
}
方法二:
public static void main(String args[] )
{
int[] iArr = {1};
iArr = method(iArr) ;
System.out.println( "iArr[0] = " + iArr [0] ) ;
}
public static int[] method(int[] n ) {
n [0] = 45 ;
return n;
}