java - 为什么不覆盖 Line2D.equals?

标签 java

new Line2D.Double(0,0,1,1).equals(new Line2D.Double(0,0,1,1)) // false

为什么平台设计者选择不在 Line2D 上覆盖 .equals,而是在 Point2D 上覆盖它?

最佳答案

类的设计者为什么选择不覆盖equals的答案只能由他们来回答。

但我会提出我的想法:没有什么特别说两条线是同一条线只是因为它们有相同的端点。

考虑一个显示一堆随机线条来回跳动的程序。如果其中两个碰巧重叠,它们应该相等吗?如果我使用 Set 来跟踪这些行,我是否不能添加与现有行重叠的另一行?

你或许可以争论一个答案,但我可以争论相反的答案——这就是为什么他们让我们自己决定的原因。

关于java - 为什么不覆盖 Line2D.equals?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28726492/

相关文章:

java - 为什么我的 Servlet 不响应 UTF-8 格式的 JSON 请求?

java - 使用 Java 中的双倍长度 3DES key 进行加密并生成 16 字节数组密码

java - 当我尝试将数据从 firebase 数据库添加到 firebaseViewHolder 时,Android 应用程序不断停止

java - 如何在运行时更改属性值

java - 基本的 Springboot 应用程序抛出 NullPointerException

java - 具有命名参数的 Hibernate Native Query 问题

java - 将图像置于 ImageView 的中心?

java - 如何在生产中动态更改 JPA 2.0 SQL/JPQL 查询

java - 查找加起来等于给定值的数组间隔

java邮件smtp连接问题