Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java7与SomeClass::compareTo表达式的等价物是什么?_Java_Comparator - Fatal编程技术网

Java7与SomeClass::compareTo表达式的等价物是什么?

Java7与SomeClass::compareTo表达式的等价物是什么?,java,comparator,Java,Comparator,我的目的是创建一个自定义排序方法: public void mySort { this.sort(SomeClass::compareTo()); } 这在Java8中运行得非常好,但是Java7很生气!我甚至需要自定义排序方法吗?或者如果自定义ArrayList(此处引用)中的对象(SomeClass)内置了预定义的比较器,sort()方法会处理吗?的文档说,如果传入null,则列表将按照其自然顺序排序。因此,如果您的类实现了Comparable,您应该能够传入null 根据可比接口

我的目的是创建一个自定义排序方法:

public void mySort
{
    this.sort(SomeClass::compareTo());
}
这在Java8中运行得非常好,但是Java7很生气!我甚至需要自定义排序方法吗?或者如果自定义ArrayList(此处引用)中的对象(SomeClass)内置了预定义的比较器,sort()方法会处理吗?

的文档说,如果传入
null
,则列表将按照其自然顺序排序。因此,如果您的类实现了
Comparable
,您应该能够传入
null

根据可比接口文件对自然顺序的定义:

此接口对实现它的每个类的对象施加总顺序。这种排序称为类的自然排序,类的compareTo方法称为其自然比较方法

的文档说明,如果传入
null
,则列表将按照其自然顺序进行排序。因此,如果您的类实现了
Comparable
,您应该能够传入
null

根据可比接口文件对自然顺序的定义:

此接口对实现它的每个类的对象施加总顺序。这种排序称为类的自然排序,类的compareTo方法称为其自然比较方法



上述解决方案最终无法与我的实现一起工作。也就是说,Collections.sort(this.myList)创造了奇迹。谢谢你的建议

上述解决方案最终无法与我的实现配合使用。也就是说,Collections.sort(this.myList)创造了奇迹。谢谢你的建议

请多加一点背景。这是在哪里定义的(即,
这是什么?
)?一个自定义的容器,它扩展了实现List的ArrayList。传递一个对比较器对象的引用,比较器对象是新的SomeClass()Lambda表达式,例如SomeClass::compareTo(),它仅在Java 8中引入。我知道:)。因此,我说Java7相当愚蠢!请多加一点背景。这是在哪里定义的(即,
这是什么?
)?一个自定义的容器,它扩展了实现List的ArrayList。传递一个对比较器对象的引用,比较器对象是新的SomeClass()Lambda表达式,例如SomeClass::compareTo(),它仅在Java 8中引入。我知道:)。因此,我说Java7相当愚蠢!所以本质上,我可以完全放弃这个方法,通过.sort()对定制容器进行排序,而不用担心?是的。但是我建议您自己运行一些测试来验证。因此,当我删除mySort()时,它找不到sort()的符号!您的意思是使用
排序(null)
?当然
sort()
列表中不存在。sort()里面会有什么呢?基本上,我可以完全放弃这个方法,通过.sort()对定制容器进行排序,而不必担心?是的。但是我建议您自己运行一些测试来验证。因此,当我删除mySort()时,它找不到sort()的符号!您的意思是使用
排序(null)
?当然
sort()
列表中不存在。那么sort()中会包含什么内容呢?