Preguntas etiquetadas con method-reference

2
Comparator.reversed () no se compila usando lambda
Tengo una lista con algunos objetos de usuario y estoy tratando de ordenar la lista, pero solo funciona usando la referencia de método, con la expresión lambda, el compilador da un error: List<User> userList = Arrays.asList(u1, u2, u3); userList.sort(Comparator.comparing(u -> u.getName())); // works userList.sort(Comparator.comparing(User::getName).reversed()); // works userList.sort(Comparator.comparing(u -> u.getName()).reversed()); // …

3
¿Es una buena idea el almacenamiento en caché de referencias de métodos en Java 8?
Considere que tengo un código como el siguiente: class Foo { Y func(X x) {...} void doSomethingWithAFunc(Function<X,Y> f){...} void hotFunction(){ doSomethingWithAFunc(this::func); } } Supongamos que hotFunctionse llama muy a menudo. Entonces, ¿sería aconsejable almacenar en caché this::func, tal vez así: class Foo { Function<X,Y> f = this::func; ... void hotFunction(){ …

4
¿Por qué no se verifica el tipo de retorno lambda en tiempo de compilación?
La referencia del método utilizado tiene tipo de retorno Integer. Pero Stringse permite una incompatibilidad en el siguiente ejemplo. ¿Cómo arreglar la withdeclaración del método para que el tipo de referencia del método sea seguro sin la conversión manual? import java.util.function.Function; public class MinimalExample { static public class Builder<T> { …
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.