目前我的同一个文件中的比较器类与我的一个类相同。
public class Tree {
public static Comparator<Tree> TreeSize = new Comparator<Tree>() {
public int compare(Tree t1, Tree t2)
{
etc...
}
}
}
Comparator类应该在自己的文件中吗?
答案 0 :(得分:3)
如果您碰巧只有一个比较器,为什么不通过让类实现Comparable
来强制执行自然排序?那么你不仅可以将它保持在班级,而且根本不需要第二班。
答案 1 :(得分:2)
(我不是100%肯定你在问什么,因为上面的代码不合法。你不能在顶级声明这样的东西。你是在试图宣布第二堂课吗?我是假设。)
作为一种风格问题,我发现在一个Java源文件中放置多个顶级声明是非常非常规的(尽管可能)。我当然更喜欢你的Comparator
单独的源文件。
您还可以将其设为Tree
类的公共静态成员。这使得某些风格有意义,因为它本身与Tree
的实例一起使用。但是我自己仍然喜欢单独的顶级课程。