2

请澄清一下,我们可以有自己的方法来比较两个对象而不是实现接口。接口的意义是什么?

4

2 回答 2

3

因为当其他一些 api/代码(除了您的)想要比较您的自定义对象/类型时,IComparable 将为他们提供比较的实现,而不管您的对象是什么。他们将简单地检查您的对象是否实现了 IComparable,如果实现了,它将调用比较并对它们进行排序。一些场景,例如,当您将自定义对象列表绑定到网格时,然后当您单击列标题对对象进行排序时,网格将通过比较进行排序。

于 2012-01-22T05:26:44.950 回答
0

接口的意义:

是的,您可以拥有自己的方法来比较两个对象,而不是实现接口。但是,该界面允许更大的灵活性。例如,假设您有一个对象列表。如果你调用 list.sort() 它将使用提供的比较接口 - 如果你不提供这个你会得到意想不到的结果。

于 2012-01-22T05:27:07.443 回答