Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
请澄清一下,我们可以有自己的方法来比较两个对象而不是实现接口。接口的意义是什么?
因为当其他一些 api/代码(除了您的)想要比较您的自定义对象/类型时,IComparable 将为他们提供比较的实现,而不管您的对象是什么。他们将简单地检查您的对象是否实现了 IComparable,如果实现了,它将调用比较并对它们进行排序。一些场景,例如,当您将自定义对象列表绑定到网格时,然后当您单击列标题对对象进行排序时,网格将通过比较进行排序。
接口的意义:
是的,您可以拥有自己的方法来比较两个对象,而不是实现接口。但是,该界面允许更大的灵活性。例如,假设您有一个对象列表。如果你调用 list.sort() 它将使用提供的比较接口 - 如果你不提供这个你会得到意想不到的结果。