У меня есть фабричный метод, такой как
public static <T> Something<T> create(Class<T> clazz) {
return new Something<T>(clazz);
}
, принимающий аргумент Class
.Когда я использую его как в
Something<String> something1 = Something.create(String.class);
все нормально.Но за
Something<List> something2 = Something.create(List.class);
я получаю предупреждение, от которого не могу избавиться.Что бы я ни пытался, я получаю предупреждение или ошибку.
Могу ли я что-нибудь сделать, кроме @SuppressWarnings("unchecked")
?
На самом деле, я бы хотел получить
Something<List<?>> something2 = Something.create(List.class);
который я не могу получить без двух забросов и предупреждения.Я использую затмение 3.5.2.