有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (3) 个答案

  1. # 1 楼答案

    这不是它的工作原理Comparable是一个接口,任何类都可以选择实现,以指示可以使用类compareTo()方法比较类的实例。因此,您可以选择在自己创建的任何类中实现该接口(但是,您必须自己为compareTo()编写代码,因为Java不知道如何以有意义的方式比较对象)

    一些内置类实现了Comparable,而其他类则没有——可能在某个地方有一个列表,但对于一个如此简单的答案来说,它太长了。如果您想知道某个特定类是否实现了compareTo(),请查看其文档(并查看比较是否符合您的预期),或者尝试调用该方法。如果存在未实现Comparable的内置类或第三方类,则需要创建一个Comparator来进行比较

    AComparator可以比较你想要的任何东西,因为你是决定它应该如何工作的人

  2. # 2 楼答案

    实际上,您可以比较Java中的所有内容

    例如,您有一个类X,这是不可比较的。您可以使这个类成为另一个类C的属性,并使C具有可比性,重写它的compareTo()方法

    For example, it doesn't make sense to compare Colors

    这是对的。即使没有意义,你也可以。以下是问题的答案:

    Which color is brighter?

    public class ComparableColor implements Comparable<ComparableColor> 
    {
        Color color;
        public ComparableColor(Color color)
        {
            this.color = color;
        }
        @Override
        public int compareTo(ComparableColor c) 
        {
            return c.color.getAlpha() - this.color.getAlpha();
    
        }
    
    }
    
  3. # 3 楼答案

    例如,比较Colors是没有意义的,所以这个类没有实现可比较的接口。现在,如果您想要一个没有实现Comparable的所有类的列表,我认为没有