Из-за богатого профилирования наш код Java загроможден выводами результатов метода объектов с нулевым значением.Nullcheck способ используя java8 способ ссылка возможно?
Похоже, что этот
namedObject == null ? "?" : namedObject.getName()
можно ли написать статический метод для этого? (например, выглядит следующим образом):
Util.nvl(namedObject, NamedObject::getName, "?")
Что будет = Util.nvl выглядеть так? Я немного экспериментировал в поиске 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». –