সম্প্রতি আমি স্প্রিং ফ্রেমওয়ার্কের উত্স কোডটি পড়ছি। আমি বুঝতে পারি না এমন কিছু এখানে চলে যায়:
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
। মন্তব্যগুলি শক্ত থাকা অবস্থায় কোডটি বোঝা সহজ।
দ্রষ্টব্য: জেডিকে 8 সংকলক ব্যবহার করার পরেও জেডিকে <8 সামঞ্জস্যতা বজায় রাখার জন্য কোনও ত্রৈমাসিক অভিব্যক্তি নেই (সম্ভাব্য
java.lang.reflect.Executable
সাধারণ ধরণের হিসাবে নির্বাচন করা হচ্ছে, পুরনো জেডিকে-তে নতুন বেস ক্লাস উপলব্ধ নয়)
if...else...
এই প্রসঙ্গে টেরিনারি এক্সপ্রেশন এবং কনস্ট্রাক্ট ব্যবহারের মধ্যে পার্থক্য কী ?