在Java中工作,假设我有两个对象,通过obj.getClass().isArray()
,我知道它们都是数组。进一步说,我想将这两个数组相互比较 - 可能使用Arrays.equals
。是否有一种优雅的方法来做到这一点,而不必诉诸于大量详尽的if / else树来确定需要使用哪种Arrays.equals
的版本?我正在寻找一些比这更少的令人疲倦的东西:
if (obj1 instanceof byte[] && obj2 instanceof byte[]) {
return Arrays.equals((byte[])obj1, (byte[])obj2);
}
else if (obj1 instanceof boolean[] && obj2 instanceof boolean[]) {
...
Object[]
重载,因此您不能直接使用obj1.getClass()
。 - polygenelubricantsdeepEquals
代替。 - polygenelubricants