2014-11-23 4 views
0

클래스의 개체를 가져 오는 함수를 만드는 중입니다. 함수는 해당 개체를 사용하여 클래스를 검색하고이를 xml 구문 분석을위한 모델로 사용합니다.클래스를 동적으로 일반 목록에 할당

myClass myClassObject=new myClass(); 
List aList = parseXMLtoList(stringBuffer.toString(),myClassObject); 

private List parseXMLtoList(String xmlString,Object modelClassObject) { 
    List<modelClassObject.getClass()> xmlList = new ArrayList(); //modelClassObject cannot be resolved to a type 
... 

을하지만 주어진 클래스에 반영 사용하려고하면 동적으로 날이 오류를 제공합니다 : 함수는 다음과 같습니다 modelClassObject cannot be resolved to a type

어떻게 이것을 달성 할 수 있습니까? 도와주세요.

답변

0

구현할 수 있다고 생각하지 마십시오. 다른 것들처럼 컬렉션의 유형은 컴파일 타임에만 사용됩니다. List를 사용하십시오.

0

이 같은 제네릭을 사용합니다

MyClass myClassObject= new MyClass(); 
List<MyClass> aList = parseXMLtoList("<some_xml/>", myClassObject); 


private static <T> List<T> parseXMLtoList(String xmlString, T modelClassObject) { 
    List<T> xmlList = new ArrayList<T>(); 

당신은 일반적인 정의에이를 추가하여 사용할 수있는 유형을 제한 할 수 있습니다

제네릭에
private static <T extends MyClass> 

더 : https://docs.oracle.com/javase/tutorial/java/generics/

관련 문제