Dzięki bogatemu profilowaniu nasz kod Java jest zagracony z wynikami wyników metod obiektów zerowych.Metoda Nullcheck przy użyciu odwołania do metody java8 możliwe?
Wygląda to
namedObject == null ? "?" : namedObject.getName()
jest to możliwe, aby napisać statycznej metody na to? (np. wyglądając w ten sposób):
Util.nvl(namedObject, NamedObject::getName, "?")
Jak wyglądałby Util.nvl? Eksperymentowałem trochę z wyszukiwanym Google, ale nie uzyskałem żadnego wyniku.
To nie działa:
public static <T> T nvl(T value, Function<T, ?> method, T nullSubstition) {
return value == null ? nullSubstition : (T) method.apply(value);
}
Kompilator mówi mi: niestatyczny metoda getName() nie można odwoływać się od statycznego kontekście
Znakomita odpowiedź, wielkie dzięki! – Nachaz
Nie jest to operacja "nvl", ale jest to operacja "getOrDefault". –