我注意到您无法像这样比较2点:
if (pointOne == pointTwo) { }
我总是必须这样做:
if (pointOne.x == pointTwo.x && pointOne.y == pointTwo.y) { }
我真的很想知道为什么您不能使用第一个示例,有人回答吗?
最佳答案
您必须使用类equals
的Point
方法。检查this。
如果使用==,则实际上是在检查两个Point
对象的内存地址是否相同。
在Java中,所有类都是从Object
派生的,您可以重写equals
方法,从而提供一种方便的方法来检查实际上是否是同一Object
派生类的两个对象是否相同。