«method-reference» 태그된 질문

2
Comparator.reversed ()는 람다를 사용하여 컴파일되지 않습니다.
일부 사용자 개체가있는 목록이 있고 목록을 정렬하려고하지만 메서드 참조를 사용하여 작동하며 람다 식을 사용하면 컴파일러에서 오류가 발생합니다. 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()); // Compiler error 오류: com\java8\collectionapi\CollectionTest.java:35: error: cannot find symbol userList.sort(Comparator.comparing(u -> u.getName()).reversed()); ^ symbol: method getName() …

3
메소드 참조 캐싱이 Java 8에서 좋은 아이디어입니까?
다음과 같은 코드가 있다고 생각하십시오. class Foo { Y func(X x) {...} void doSomethingWithAFunc(Function<X,Y> f){...} void hotFunction(){ doSomethingWithAFunc(this::func); } } hotFunction매우 자주 호출 된다고 가정합니다 . 그러면 다음 this::func과 같이 캐시하는 것이 좋습니다 . class Foo { Function<X,Y> f = this::func; ... void hotFunction(){ doSomethingWithAFunc(f); } } Java 메서드 참조에 …

4
컴파일 타임에 람다 리턴 유형이 검사되지 않는 이유는 무엇입니까?
사용 된 메소드 참조에는 리턴 유형이 Integer있습니다. 그러나 String다음 예 에서는 호환되지 않습니다 . with수동으로 캐스팅하지 않고 메소드 참조 유형을 안전하게 얻기 위해 메소드 선언 을 수정하는 방법 은 무엇입니까? import java.util.function.Function; public class MinimalExample { static public class Builder<T> { final Class<T> clazz; Builder(Class<T> clazz) { this.clazz = clazz; …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.