我读到您可以将数组作为参数传递给方法,但是否推荐?我的意思是,还有其他更容易接受的方法吗?
就我而言,我有 2 个类,每个类都包含一个数组,我需要检查它们是否相同或不同。所以我想在其中一个类中创建一个方法,该方法将在参数中获取一个数组,然后比较两个数组的每个值。
我不确定是否Arrays.equals():
有效,因为它是一个对象数组而不仅仅是数字。
我发现了这个Java 数组比较,但它似乎比我需要做的更复杂。
我读到您可以将数组作为参数传递给方法,但是否推荐?我的意思是,还有其他更容易接受的方法吗?
就我而言,我有 2 个类,每个类都包含一个数组,我需要检查它们是否相同或不同。所以我想在其中一个类中创建一个方法,该方法将在参数中获取一个数组,然后比较两个数组的每个值。
我不确定是否Arrays.equals():
有效,因为它是一个对象数组而不仅仅是数字。
我发现了这个Java 数组比较,但它似乎比我需要做的更复杂。
我不确定是否
Arrays.equals()
有效,因为它是一个对象数组而不仅仅是数字。
有一种风格Arrays#equals
需要两个Object[]
作为参数。只要您的对象正确实现 equals,它就应该按预期工作。
1)是的,可以将数组作为参数传递,这样做绝对没有问题
2) Arrays.equals(Object[] a, Object[] b)可以检查对象数组(如果您不想简单地测试实例身份,则必须确保对象上有适当的 equals 方法)。请注意,此方法的存在是 1 的证明;)
尽管使用数组作为方法的参数很好,但您的用例可以通过形成java.util.Set
这两个数组并使用 apache commonsCollectionUtils.isEqualCollection
来检查它们是否相同来解决。
我不明白为什么不建议这样做。我有时更喜欢将数组而不是集合作为方法的参数传递。