gpt4 book ai didi

java - 是否有理由为自身以外的类型实现 java.util.Comparable?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:04:51 25 4
gpt4 key购买 nike

<分区>

类实现 Comparable<T>通常自己实现,例如

class MyInteger implements Comparable<MyInteger> { ... }
class MyString implements Comparable<MyString> { ... }

但是没有什么可以阻止你为不同的类型实现它:

class MyString implements Comparable<MyInteger> { ... }

这将允许您比较 MyStringMyInteger .

如描述in the Javadoc , Comparable旨在模拟自然排序,即 total order ,所以为了能够具有反对称性,compareTo 的参数类型应该与定义该方法的类型相同。

但是实现 class SomeType implements Comparable<OtherType> 有任何实际用途(滥用)吗? ?


更新:Joni 的答案和 I提供了实际示例,其中 Comparable<Supertype>是隐式实现的,即您的类可传递地实现该接口(interface)。很想知道是否有人有可以显式使用它的示例。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com