请澄清一下,我们可以有自己的方法比较两个对象而不是实现接口。接口的意义是什么?
答案 0 :(得分:3)
因为当某些其他api /代码(除了你的代码之外)想要比较你的自定义对象/类型时,IComparable将为它们提供比较的实现,而不管你的对象是什么。他们只会检查你的对象是否实现了IComparable,如果确实如此,它将调用比较并对它们进行排序。某些情况,例如,当您将自定义对象列表绑定到网格时,然后单击“标题”以对对象进行排序时,网格将通过比较进行排序。
答案 1 :(得分:0)
界面的意义:
是的,您可以使用自己的方法来比较两个对象,而不是实现一个接口。但是,界面允许更大的灵活性。例如,假设您有一个对象列表。如果你调用list.sort(),它将使用提供的比较接口 - 如果你不提供这个,你将得到意想不到的结果。