【发布时间】:2012-08-30 19:50:24
【问题描述】:
我希望覆盖 int[] 数组的等号。使得以下将是正确的
int[] a = {1,2,3};
int[] b = {1,2,3};
System.out.println(a.equals(b));
有没有办法做到这一点?
【问题讨论】:
-
使用Arrays.equals()不是最简单的方法吗?
-
Java 没有任何方式覆盖运算符。它在某些地方是一个非常有争议的主题,而在其他地方则是非黑即白的,这就是为什么他们选择将它排除在 Java 语言之外的原因。老实说,我希望允许重写以使 Java 不那么冗长,但可惜,事实并非如此。 This question 详细介绍。
-
HashSet 使用 equals(),所以我不能只制作 HashSet
并检查其中是否有数组。 -
另外,
int[] a = b不会使它们相等,因为它们会指向内存中的相同位置吗?
标签: java