java - 类 Arrays 中重载方法 sort 的意义是什么

标签 java arrays sorting java-8

我发现类Arrays中的方法sort()由于参数类型不同,但有些逻辑是相同的。

如参数为long时,方法与参数为Integer相同。那么重载该方法有什么意义呢?换句话说,代码可能更短,但为什么设计得这么长?

最佳答案

when the parameter is long ,the method is the same as the parameter is integer.

不是intlong,而是int[]long[]。这一点很重要。

例如,intlong 存在扩大的基元转换。

int i = 10;
long l = i;

但是,int[]long[] 是完全不同的类型,并且不支持类似的便捷转换。为了将 int[] 传递给 method(long[]),您必须将 int[] 转换为 >手动长[]

int[] iA = {10, 10};
long[] lA = Arrays.stream(iA).asLongStream().toArray();

从一个好的API的角度来看,这并不方便。其想法是让用户使用他们最初获得的类型,而不是强制他们进行手动(通常容易出错)转换。所以重点是方便

关于java - 类 Arrays 中重载方法 sort 的意义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55850923/

相关文章:

c++ - char 数组的奇数输出

flash - 如何使用 AIR 将图像写入应用程序目录?

python - 按属性字母数字排序对象列表

javascript - 按规则对列表进行排序

java - 使用 Object 字段序列化类的方法?

java - 如何用JSP文件实现Post Redirect Get,数据保存在哪里?

Java 使用 .class

java - 为什么 Java 中的移动文件操作不能提供可靠的结果?

java - Collections.sort() 不合并重复项。我可以替代任何其他图书馆吗?

php - 在数组中使用随机变量