프로그래밍 언어/JAVA

instanceof와 Class.isAssignableFrom (…)의 차이점

Rateye 2021. 12. 6. 09:56
728x90
반응형
질문 : instanceof와 Class.isAssignableFrom (…)의 차이점은 무엇입니까?

다음 중 어느 것이 더 낫습니까?

a instanceof B

또는

B.class.isAssignableFrom(a.getClass())

내가 아는 유일한 차이점은 'a'가 null이면 첫 번째는 false를 반환하고 두 번째는 예외를 던진다는 것입니다. 그 외에는 항상 동일한 결과를 제공합니까?

답변

instanceof 사용할 때 컴파일 타임 B 클래스를 알아야합니다. isAssignableFrom() 을 사용할 때 동적 일 수 있으며 런타임 중에 변경 될 수 있습니다.

출처 : https://stackoverflow.com/questions/496928/what-is-the-difference-between-instanceof-and-class-isassignablefrom
728x90
반응형