2014-01-22 3 views
0
public void initialize(Class<? extends MyType> type) 
{ 
    MyType variable = new type(); 
} 

그래도 작동하지 않습니다. 어떻게해야합니까?변수의 유형으로 가변 가능 초기화.

-siiikooo

+5

'클래스'에 대한 javadoc을 읽으십시오. –

+0

달성하려는 목표는 무엇입니까? – Fildor

답변

3

이 같은 newInstance를 호출 할 수 있습니다 -

public void initialize(Class<? extends MyType> type) { 
    try { 
     MyType variable = type.newInstance(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+0

매개 변수가있는 생성자를 호출 할 수있는 다른 방법이 있습니까? – siiikooo0743

+0

@ user3224044 예. 문제가 생기면 다른 질문을 게시하십시오. [java.lang.reflect.Constructor] (http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Constructor.html)로 시작할 수 있습니다.). –

2

을 당신은 클래스 객체의 newInstance와() 메소드를 사용할 수 있습니다.

위의 예를 들어, 당신은 할 수 있습니다 :

type.newInstance를();

이 접근법의 한계는 매개 변수가있는 생성자를 호출 할 수 없다는 것입니다.

+0

그건 내 문제가 생성자는 몇 가지있다 : ( – siiikooo0743

관련 문제