Java에서 매개 변수화 된 유형의 생성자에 대한 유형이 지정되지 않은 호출이 컴파일러 경고를 유발하는 이유는 무엇입니까? 정적 방법으로 비슷한 일을하는 것이 왜 괜찮습니까? 예를 들면 :Java에서 매개 변수화 된 유형의 생성자 유형 지정되지 않은 호출이 컴파일러 경고를 발생시키는 이유는 무엇입니까?
class Test<T> {
Test() {}
static <T> Test<T> create() {
return new Test<T>();
}
@SuppressWarnings("unused")
public static void main(String[] args) {
Test<String> warning = new Test(); // compiler warning - why?
Test<String> okay = Test.create(); // no warning here - why?
Test<String> okay2 = Test.<String>create(); // why doesn't it need this?
}
}
나는이 관련 질문이 있습니다 으로 1 점까지)를 작업()가 안전하지 않은 다운 캐스트의 위험을 (함축 작업
@Matthias : 아니, 전적으로는 아니지만 - 모든 실제적인 의도와 목적 (생성 된 경고 제외)은 그렇습니다. 'Task