풍부한 프로파일 링으로 인해 Java 코드는 Nullable 객체의 메서드 결과 출력으로 어수선하게 쌓여 있습니다.java8 메소드 참조를 사용하는 Nullcheck 메소드가 가능합니까?
그것은이에 대한 정적 메서드를 작성하는이
namedObject == null ? "?" : namedObject.getName()
처럼이 가능합니다 보인다? (예 : 이와 같이 보이기) :
Util.nvl(namedObject, NamedObject::getName, "?")
무엇이 좋을까요? 나는 약간의 수색 한 google를 실험했지만 아무런 결과도 산출하지 못했다.
이 작동하지 않습니다
public static <T> T nvl(T value, Function<T, ?> method, T nullSubstition) {
return value == null ? nullSubstition : (T) method.apply(value);
}
컴파일러는 저에게 말한다 : 비 정적 메소드 getName()는 정적 컨텍스트
멋진 답변, 고맙습니다. – Nachaz
"nvl"연산이 아니지만 "getOrDefault"연산입니다. –