최근에 저는 Spring Framework의 소스 코드를 읽고 있습니다. 내가 이해할 수없는 것이 여기에 있습니다.
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...
이 컨텍스트에서 삼항 표현식을 사용하는 것과 구문을 사용하는 것의 차이점은 무엇입니까 ?