0

目前,我在与我的一个类相同的文件中有一个比较器类。

public class Tree {

    public static Comparator<Tree> TreeSize = new Comparator<Tree>() {
        public int compare(Tree t1, Tree t2)
        {
            etc...
        }
    }

}

Comparator 类应该在它自己的文件中吗?

4

2 回答 2

3

如果你碰巧只有一个比较器,为什么不通过实现类来强加一个自然排序Comparable呢?那么你不仅可以保持在类水平,而且你根本不需要第二类。

于 2012-04-21T15:19:55.177 回答
2

(我不是 100% 确定你在问什么,因为上面的代码是不合法的。你不能在顶层声明这样的东西。你想声明第二类吗?我假设。 )

就风格而言,我发现在一个 Java 源文件中放置多个顶级声明是非常不合常规的(尽管可能)。我当然希望为您的Comparator.

您还可以使其成为Tree该类的公共静态成员。这具有一定的风格意义,因为它本质上与Tree. 但我自己仍然更喜欢单独的顶级课程。

于 2012-04-21T15:16:51.190 回答