搜索如何通过参数排序对象列表我发现了这个解决方案:
lista.sort(
Comparator.comparing(EntradaLoteVo::getFechaRecepcionLote)
.thenComparingInt(EntradaLoteVo::getId));
这引起了我的注意:EntradaLoteVo::getFechaRecepcionLote
。它是一个 lambda 表达式吗?我在互联网上找不到解释,因为我不知道它叫什么。我认为它返回我在列表中与类对应的值,并对每个元素EntradaLoteVo
执行操作getFechaRecepcionLote
,然后sort
对其进行排序。但是你还能做什么?
::
称为方法引用。它是在 Java 8 中引入的。长期以来,接口被用作异步进程的回调,例如当您想从服务器获取响应或当您想创建一个新线程时:
现在您可以通过发送方法引用以用作回调并避免这种复杂的语法来做类似的事情:
(valido, token) -> {}
这是一个有效的方法,翻译为:根据您的问题调整它是:
这样做是将方法引用发送
callback_respuesta
到方法loginUsuario
。这称为 lambda 函数。有 3 种类型
Function
:Supplier
和Consummer
。值得注意的是,最后所有 3 个都是接口,这是编译器接受这种语法的一个技巧。这与C# 中的
Func<T, T1, T2.., TResult>
and相同。Action<T, T2...>