我有一个已经具有“自然”顺序的类,并希望定义一个不同的 Comparator 可以使用类似于String.CASE_INSENSITIVE_ORDER
- 即,将其定义为实例化的静态字段,以便在需要时引用。
对于实际比较类型的接口 Foo(它将是Comparator<Foo>
),我赞成将其放在那里而不是 FooImpl (在这种特定情况下只有一个实现,如果有区别的话)。它是使用类似于 String 的内部类实现的,当然除了该类必须是公共的,因为 Foo 是一个接口。
想知道将它放在 FooImpl 中而不是 Foo 中是否更好,如果是,为什么?我也不关心实现类的公共可见性,但它应该是一个独立的独立包可见实体吗?