5
코드를 컴파일하는 동안 Object Casting에 대한 경고 메시지가 나타납니다.일반 오브젝트의 오브젝트 유형을 확인하는 적절한 방법은 무엇입니까?
MyObj obj1 = new MyGenericObj<Integer>();
if (obj1 instanceof MyGenericObj) {
//I was trying to check if it's instance of MyGenericObj<Integer>
//but my IDE saying this is wrong syntax....
MyGenericObj<Integer> obj2 = (MyGenericObj<Integer>) obj1;
//This line of code will cause a warning message when compiling
}
: 나는 방법의 나는 그것이
MyGenericObj<T>
가 아닌 일반 객체 여기
MyObj
에서 확장하는 일반 객체가 있다고 가정 해 봅시다 .... 내 현재의 지식으로 문제를 해결하는 샘플 코드는 아무 생각이 없다
이 작업을 수행하는 적절한 방법이 무엇인지 알려 주시기 바랍니다.
도움을 주시면 감사하겠습니다.
먼저 도움을 주셔서 감사합니다. 따라서 'theClass'객체에서 객체 유형을 저장하는 장소가 있다면 'Integer.class'와 비교해보십시오. – user2296188
@ user2296188 기본적으로 예 - 다음과 같이 작성합니다. if (i instanceof MyGenericObject && ((MyGenericObject) i) .getTypeArg() == Integer.class) {...}'. 실례로 ideone ([link] (http://ideone.com/j85Uj9))에서이 데모를보십시오. – dasblinkenlight
나는 그것을 지금 ~~ 고마워! 나는 그것을 밖으로 시도하고 경고 메시지가 지워지는지 확인합니다 ... – user2296188