考虑到 Java 是基于值传递运行的。以下哪项被认为是将新数组值分配给现有数组的最传统/最正确的方法:
1:
int[] x = {1,2};
public static int[] changeValue(int[] arr) {
for (int i = 0; i < arr.length; i++) {
arr[i]*=2;
}
return arr;
}
changeValue(x);
2:
int[] x = {1,2};
public static int[] changeValue(int[] arr) {
for (int i = 0; i < arr.length; i++) {
arr[i]*=2;
}
return arr;
}
x = changeValue(x);
3:
int[] x = {1,2};
public static void changeValue(int[] arr) {
for (int i = 0; i < arr.length; i++) {
arr[i]*=2;
}
}
changeValue(x);
谢谢。
最佳答案
哪个都好。至于代码指南,您可以坚持使用 native java 方法,例如Collections#reverse
不返回任何东西。它改变传递的对象。所以这实际上取决于方法的作用。
所以在你的情况下我会选择第三个版本。
关于java - 将新数组分配给现有数组的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55362386/