isInstance
방법을 Class
으로 사용할 수 있습니다.
지정한 Object가이 클래스가 나타내는 개체와 할당 호환되는지 여부를 확인합니다. 이 메서드는 Java 언어 instanceof
연산자과 동적으로 동일합니다. 지정된 Object 인수가 null가 아니고 ClassCastException을 발생시키지 않고이 Class 객체가 나타내는 참조 유형으로 캐스팅 할 수있는 경우이 메소드는 true를 리턴합니다. 그렇지 않으면 false를 리턴합니다. 당신은 일반적으로이 작업을 수행하려면
그래서 당신은 당신이 objClass
로 표현 형태로 변환 .cast
를 사용할 수
if (objClass.isInstance(obj)) ...
를 작성합니다.
public <T> void method(Object obj, Class<T> objClass) {
if(objClass.isInstance(obj)) {
T t = objClass.cast(obj);
//do something with t instead of obj
}
}
또는 http://stackoverflow.com/questions/376988/is-there-any-way-other-than-instanceof-operator-for-object-type-comparison-in-ja – skaffman