समृद्ध प्रोफाइलिंग के कारण, हमारे जावा कोड को शून्य वस्तुओं के विधि परिणामों के आउटपुट के साथ अव्यवस्थित किया गया है।जावा 8 विधि संदर्भ का उपयोग कर नलचेक विधि संभव है?
यह इस
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" ऑपरेशन है। –