Java 静态方法中实例方法的方法引用

Java 静态方法中实例方法的方法引用,java,method-reference,Java,Method Reference,对不起,没有明确的标题,我还是新的这个,甚至英语 Collections.sort(aList, (s1, s2) -> Float.compare(s1.getAFloat(), s2.getAFloat())); 如上所述,我可以使用方法引用吗?如果s1和s2是Floats,并且它们不使用get-a-Float方法,那么事情就会变得简单: Collections.sort(aList,Float::compare); 但是对于s1.getAFloat()我不知道如何使用方法引用,甚

对不起,没有明确的标题,我还是新的这个,甚至英语

Collections.sort(aList, (s1, s2) -> Float.compare(s1.getAFloat(), s2.getAFloat()));
如上所述,我可以使用方法引用吗?如果
s1
s2
Float
s,并且它们不使用get-a-Float方法,那么事情就会变得简单:

Collections.sort(aList,Float::compare);

但是对于
s1.getAFloat()
我不知道如何使用方法引用,甚至不可能使用它,谢谢您的回答

不,你不能。查看以下代码

List<Float> aList = Arrays.asList(5.2f, 9.7f);
Collections.sort(aList, (s1, s2) -> Float.compare(s1, s2));
Collections.sort(aList, Float::compare);
你可以用

Collections.sort(aList, Comparator.comparing(ItemType::getAFloat));

如果检索到的类型尚未可排序,则可以为
比较提供额外的比较器

您可以访问有关方法引用工作原理的教程。
Collections.sort(aList, Comparator.comparing(ItemType::getAFloat));