gpt4 book ai didi

java - 比较器作为静态字段 - 接口(interface)还是实现?

转载 作者:行者123 更新时间:2023-11-30 07:36:14 25 4
gpt4 key购买 nike

我有一个已经具有“自然”顺序的类,并希望定义一个可以类似于 String.CASE_INSENSITIVE_ORDER 使用的不同比较器。 - 即,将其定义为需要时引用的实例化静态字段。

对于作为实际比较类型的接口(interface) Foo(它将是 Comparator<Foo>),我赞成将它放在那里而不是 FooImpl(在这种特定情况下只有一个实现,如果这有区别的话)。它是使用类似于 String 的内部类实现的,当然该类必须是公共(public)的,因为 Foo 是一个接口(interface)。

想知道将它放在 FooImpl 中而不是 Foo 中是否更好,如果是这样,为什么?另外我不关心实现类的公共(public)可见性,但它应该是一个独立的独立包可见实体吗?

最佳答案

如果它是特定于接口(interface)的,则放在接口(interface)中。如果它特定于实现,请实现。这也是最有道理的。当前的实现数量无关紧要。无论如何,您始终可以提供自己的实现特定比较器的实现。

关于java - 比较器作为静态字段 - 接口(interface)还是实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3739434/

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