हाल ही में मैं स्प्रिंग फ्रेमवर्क का सोर्स कोड पढ़ रहा हूं। कुछ मैं समझ नहीं पा रहा हूँ यहाँ जाता है:
public Member getMember() {
// NOTE: no ternary expression to retain JDK <8 compatibility even when using
// the JDK 8 compiler (potentially selecting java.lang.reflect.Executable
// as common type, with that new base class not available on older JDKs)
if (this.method != null) {
return this.method;
}
else {
return this.constructor;
}
}
यह विधि वर्ग का सदस्य है org.springframework.core.MethodParameter
। कोड समझना आसान है जबकि टिप्पणियां कठिन हैं।
नोट: JDK 8 कंपाइलर का उपयोग करते समय भी JDK <8 संगतता बनाए रखने के लिए कोई तिर्यक अभिव्यक्ति नहीं है (संभवतः
java.lang.reflect.Executable
सामान्य प्रकार के रूप में चयन करने के साथ, पुराने JDK पर नया बेस क्लास उपलब्ध नहीं है)
if...else...
इस संदर्भ में टर्नरी अभिव्यक्ति का उपयोग करने और निर्माण के बीच अंतर क्या है?