Java 比较任意数组类型的库代码?
Java 比较任意数组类型的库代码?,java,arrays,Java,Arrays,Arrays.equals()对于所有基元数组和Object[]都是重载的,但是给定任意组件类型的数组,在任何已知的库中都有可以比较它们的例程吗 也就是说,这可能是一种类似于equals(Object,Object)的方法,它可以接受Object[]以及int[],byte[],等等。多亏了@Bob的提示,我在Commons Lang中找到了以下方法,可以满足我的需求: .int[]不是Object[]的子类,这就是所有问题的根源。@MarkoTopolnik是的,没错。数组似乎是类型系统中的一
Arrays.equals()
对于所有基元数组和Object[]
都是重载的,但是给定任意组件类型的数组,在任何已知的库中都有可以比较它们的例程吗
也就是说,这可能是一种类似于
equals(Object,Object)
的方法,它可以接受Object[]
以及int[]
,byte[]
,等等。多亏了@Bob的提示,我在Commons Lang中找到了以下方法,可以满足我的需求:
.
int[]
不是Object[]
的子类,这就是所有问题的根源。@MarkoTopolnik是的,没错。数组似乎是类型系统中的一个设计失败……不要太快地判断它们:在自动装箱/取消装箱之前,一段代码真的不可能在基元和引用数组上进行多态操作。此外,合并不同的基元类型会有性能问题,阵列的主要用途是性能。您看过Apache Commons库吗?它们提供了大量缺失的功能。