java - 为什么不能通过两个参数交换数组的两个元素?
问题描述
public class Utility {
public static final <T> void swap(T a, T b) {
T temp = a;
a = b;
b= temp;
}
public static final <T> void swapArr(T[] arr, int a, int b) {
T temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
}
为什么Utility.swap(a[i], a[j]);
不能正确交换数组的两个元素,但Utility.swapArr(arr, i, j);
工作正常?
解决方案
推荐阅读
- javascript - 使用展开语法替换字典中的项目
- server - 使用信号句柄关闭 flask-socketio 服务器
- ruby - 如何禁用 ruby bundler 文本输出?
- python - 程序正在运行但文件未使用 open() 函数打开
- ios - 通过 CollectionViewCell 进行 Swift 委托
- excel - 复制格式为文本的单元格
- javascript - 尽管 URL 有 2000 个字符的限制,如何在 IE 中触发大量 JavaScript 代码?
- flutter - Dart:按双精度排序地图列表
- android - 无论语言环境,以静态格式获取当前时间
- haskell - 如何过滤列表中的索引?