Class<List>
, Class<List<?>>
또는 Class<List<Anything>
은 실제로는 Class
을 참조합니다.매개 변수화 된 인터페이스를 구현하는 클래스를 올바르게로드하는 방법은 무엇입니까?
나는
class MyClass implements List<SomeClass> {
// ...
}
내가 다음 다음 날
List<SomeClass> myInstance = myClass.newInstance();
트릭을 쓸 수 것
Class<? extends List<SomeClass>> myClass = MyClass.class;
내가이로드하고자하는 것입니다 쓸 수있다 그러나 경우 클래스를 반영하여 ClassLoader.loadClass
을 사용하고 같은 유형의 myClass
을 선언합니다. 이 작업을 수행하는 가장 적절한 방법은 무엇입니까?
나는 컴파일 경고를 발생시키지 않고 의 더 강력한 버전과 같은 수퍼 유형의 런타임 검사를 의미하는 @SuppressWarnings
을 필요로하지 않는 솔루션을 원합니다.
아마도 동일합니다 : http://stackoverflow.com/questions/356583/can-i-reflectively-instantiate-a-generic-type-in-java – zeller
사실 그것은 같은 문제인 것처럼 보입니다. 답변 : ( –
경고를 억제하는 것이 좋지 않거나 방탄 유형 검사가 필요하지 않기 때문에 이런 유형의 요구 사항이 있습니까? –