Récemment, je suis en train de lire le code source du Framework Spring. Quelque chose que je ne peut pas comprendre, va ici:
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;
}
}
Cette méthode est un membre de la classe org.springframework.core.MethodParameter
. Le code est facile à comprendre si les observations sont difficiles.
NOTE: pas de ternaire expression de conserver JDK <8 compatibilité, même lorsque vous utilisez le JDK 8 compilateur (potentiellement en sélectionnant
java.lang.reflect.Executable
comme le type le plus commun, avec cette nouvelle classe de base ne sont pas disponibles sur les anciennes Jdk)
Quelle est la différence entre l'utilisation de ternaire expression et l'utilisation de if...else...
construction dans ce contexte?