thisObject
이라는 객체가 있는데, int, String, Object 등 또는 이러한 클래스의 배열 일 수 있습니다. 그 결과 클래스는 thisObjectArrayClass
변수 Class
에 저장되기를 바랍니다. 클래스 배열의 .class 값을 얻으려면 어떻게해야합니까?
이
는 컴파일되지 않습니다, 그러나 희망 내가 무엇을 찾고 설명합니다 :switch(thisObject.class) {
case int.class:
int[] tempObject;
thisObjectArrayClass = tempObject.class;
break;
case float.class:
float[] tempObject;
thisObjectArrayClass = tempObject.class;
break;
case int[].class:
int[][] tempObject;
thisObjectArrayClass = tempObject.class;
break;
}
이의 문제는 분명히 용납 스위치/case 문에 의존한다는 것이다. 리플렉션을 사용하여이 작업을 수행하려는 나의 시도는 실패했지만 Java에 익숙하지 않았으므로 아마도 잘못된 것이 었습니다. 어떻게이 일을 성취 할 수 있습니까?
바하마입니다 7. 어느 쪽이든의 경우/다른 순서 또는 스위치를 사용 ...이 내가 시도 정확히,하지만 난 '.getClass()'대신'.class'를 사용했습니다. 나는 너무 가까웠다. : – TimFoolery
@Michael :'.class'는 객체의 정적 클래스입니다.이 경우'java.lang.Object'입니다. getClass()는 객체의 _dynamic 클래스입니다. –
'thisObject.class'를 사용한다는 것을 의미합니다. 'thisObject'는 클래스의 리터럴 이름입니다.이 경우 질문에 대한 대답은'thisObject []. class'를 사용하는 것일뿐입니다. 나는'thisObject'가 실제로 참조 변수 인 것으로 의심합니다. 그것이 가리키는 객체의 클래스, 그는'thisObject.getClass()'를 할 필요가있다. – user102008