java - 将新数组分配给现有数组的正确方法
问题描述
考虑到 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);
谢谢。
解决方案
哪一个都好。至于代码指南,您可以坚持使用本机 java 方法,例如Collections#reverse
不返回任何内容。它改变了传递的对象。因此,这实际上取决于该方法的作用。
所以在你的情况下,我会选择第三个版本。
推荐阅读
- azure - Azure APIM 如何更改请求 url
- android - Android Studio 在三星手机上找不到可调试的进程
- javascript - 将 useSelector 移动到辅助函数或自定义钩子
- javascript - 有没有办法嵌入 twitter 提要,但隐藏最近的推文,并首先显示“第二最近”的推文?
- javascript - index.js:1 未捕获的 ReferenceError:未定义 Swiper
- sql - 从 Oracle 表中的 max(effectiveDate) 中选择最长 2 年的记录
- r - R:在固定数量的连续观察中随机采样不同的时间段而没有重叠
- javascript - React 项目在编辑后刷新时显示纯 HTML
- java - 检查一个数字的二进制表示中是否包含两个连续的 0 的直观方法是什么?
- jndi - javax.naming.exception:JNDI 查找失败 与路由器通信时出错