java comparator类应该在一个单独的文件中吗?
目前,我有一个comparator类和我的一个类在同一个文件中java comparator类应该在一个单独的文件中吗?,java,class,comparator,Java,Class,Comparator,目前,我有一个comparator类和我的一个类在同一个文件中 public class Tree { public static Comparator<Tree> TreeSize = new Comparator<Tree>() { public int compare(Tree t1, Tree t2) { etc... } } } 公共类树{ publicstaticco
public class Tree {
public static Comparator<Tree> TreeSize = new Comparator<Tree>() {
public int compare(Tree t1, Tree t2)
{
etc...
}
}
}
公共类树{
publicstaticcomparatortreesize=newcomparator(){
公共整数比较(树t1,树t2)
{
等
}
}
}
Comparator类应该在它自己的文件中吗?(我不能100%确定你在问什么,因为上面的代码是不合法的。你不能在顶层声明这样的东西。你是想声明第二个类吗?我假设是这样的。)
就风格而言,我发现在一个Java源文件中放置多个顶级声明是非常不传统的(尽管可能)。我当然希望为您的比较器提供一个单独的源文件
您还可以将其设置为树
类的公共静态成员。这有一定的风格意义,因为它固有地与树的实例一起使用。但是如果可能的话,我自己还是更喜欢单独的顶级类。(我不能100%确定你在问什么,因为上面的代码是不合法的。你不能在顶级声明这样的东西。你是想声明第二个类吗?我假设是这样的。)
就风格而言,我发现在一个Java源文件中放置多个顶级声明是非常不传统的(尽管可能)。我当然希望为您的比较器提供一个单独的源文件
您还可以将其设置为树
类的公共静态成员。这有一定的风格意义,因为它固有地与树的实例一起使用。但我自己仍然喜欢在可能的情况下使用单独的顶级类。如果碰巧只有一个比较器,为什么不让类实现compariable
,从而强制自然排序呢?那么,您不仅可以将它保持在类级别,而且根本不需要第二个类。如果您恰好只有一个比较器,为什么不通过让类实现Comparable
来强制自然排序呢?这样,你不仅可以保持课堂水平,而且根本不需要第二节课