gpt4 book ai didi

java - 为什么 Arrays.sort 采用 Object[] 而不是 Comparable[]?

转载 作者:太空狗 更新时间:2023-10-29 22:35:18 26 4
gpt4 key购买 nike

我想知道为什么 Arrays 类的排序方法要求一个 Object[] 类型的参数。为什么参数不是 Comparable[] 类型。如果您不传递 Comparable[],则会生成 ClassCastException。

为什么 ... public static void sort(Object[] a) 而不是 public static void sort(Comparable[] a)?谢谢

最佳答案

因为第二种形式需要重新分配数组。即使您知道您的数组仅包含可比较项,如果原始类型为 Object[],您也不能将其强制转换为 Comparable[],因为数组类型不匹配。

你可以这样做:

Object[] arr = new String[0];
String[] sarr = (String[]) arr;

但是你不能这样做:

Object[] arr = new Object[0];
String[] sarr = (String[]) arr;

所以这是过早的优化:)

关于java - 为什么 Arrays.sort 采用 Object[] 而不是 Comparable[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2246615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com