Я новичок в использовании Java Generics, и мне интересно, как мне избавиться от предупреждений о непроверенных методах. Я понимаю, что такой код указывает тип универсального объекта и не дает мне предупреждений:
DTRowData<String> someData = new DTRowData<String>("Some string");
Но я не буду знать тип моего универсального объекта, поэтому вместо этого я пишу такой код:
DTRowData moreData = new DTRowData(80100);
Этот код имеет для меня больше смысла, так как кажется, что хорошая причина использовать дженерики - это если вы не знаете, какой тип данных вы собираетесь получить. Но это дает мне предупреждение: «Непроверенный вызов DTRowData как член необработанного типа DTRowData».
Как правильно перестать получать это предупреждение, когда я не буду знать, какие данные я получу обратно? Иногда это будет число, иногда строка. я бы предпочел не использовать
@SuppressWarnings("unchecked")
Вот мой код класса, если он вообще помогает:
public class DTRowData<E> {
public E someValue;
public DTRowDate(E someValue){
this.someValue = someValue;
}
}
<?>
, если не знаем конкретный тип. Вы также можете разрешить компилятору определять тип с помощью алмазного оператора<>
. Но в случаеnew DTRowData(80100)
почему бы просто не использовать<Integer>
? - person Pshemo   schedule 20.02.2015Object
s? - person fge   schedule 20.02.2015