Son zamanlarda Spring Framework'ün kaynak kodunu okuyorum. Anlayamadığım bir şey burada:
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;
}
}
Bu yöntem, sınıfın bir üyesidir org.springframework.core.MethodParameter
. Yorumlar zor olsa da kodun anlaşılması kolaydır.
NOT: JDK 8 derleyicisini kullanırken bile JDK <8 uyumluluğunu koruyacak üçlü ifade yok (potansiyel
java.lang.reflect.Executable
olarak ortak tür olarak seçiliyor , bu yeni temel sınıf eski JDK'larda mevcut değil)
Üçlü ifade kullanmakla if...else...
bu bağlamda yapı kullanmak arasındaki fark nedir ?