new Line2D.Double(0,0,1,1).equals(new Line2D.Double(0,0,1,1)) // false
为什么平台设计人员选择不在Line2D上覆盖
.equals
,而在Point2D上覆盖它? 最佳答案
他们之类的答案只能解释为什么类的设计者选择不覆盖均等值。
但我会提出我的想法:并没有特别说明两行是同一行,只是因为它们具有相同的端点。
考虑一个程序,该程序显示一堆乱跳的随机线。如果其中两个碰巧重叠,应该相等吗?如果我使用Set来跟踪这些行,是否应该不能添加与现有行重叠的另一行?
您也许可以提出一个答案,但我可以提出相反的意见-这就是为什么他们让我们自己决定的原因。