2010-11-18 5 views
1

강제로 유형을 설정하여 일반 인스턴스를 만드는 방법은 무엇입니까?강제로 일반 인스턴스를 만들려면 유형을 설정하는 방법?

MyClass myInstance = new MyClass(); 

을 그리고 이것은 작동합니다 :

public class MyClass<T extends MyClass2> { /* ... */ } 

public class A extends MyClass2 { /* ... */ } 

이 실패 할 수는 없습니다

MyClass<A> myInstance = new MyClass<A>(); 

답변

2

Java에서는이를 수행 할 수 없습니다. 모든 일반 클래스에는 원시 유형이 있습니다.

당신은 그러나 Eclipse를 사용하는 일이 있다면, 당신은 원시 유형의 모든 사용에 대한 컴파일 오류가 발생하도록 설정할 수 있습니다

창 -> 환경 설정 -> 자바/컴파일러/오류 -> 일반 유형 -> 설정 "원시 형식의 사용"오류.

1

합니다. 런타임 검사를 원하면 가장 좋은 방법은 유형을 인수로 취하는 유일한 생성자를 제공하는 것입니다.

public MyClass(Class<T> type) { 
    this.type = type; 
} 
관련 문제