.java использует непроверенные или небезопасные операции. Примечание. Перекомпилируйте с параметром -Xlint:unchecked для получения подробной информации. Не знаю, какая часть кода

Я новичок в области JAVA, я написал код для своего задания, и он отлично работает, когда я компилирую его с помощью Netbeans. Когда я компилирую свой файл .java через cmd, я получаю указанную выше ошибку. Я был бы полезен, если бы он мог определить, какая строка вызвала небезопасную операцию, но я не знаю, на какую часть исходного кода ссылался компилятор.

Код здесь: http://pastebin.com/nmTqghDi

Используемая строка cmd: javac Barcenas_PA.java


person Mr A    schedule 23.10.2014    source источник
comment
Вы не будете, пока вы не сделаете то, что он говорит делать.   -  person user207421    schedule 23.10.2014
comment
перекомпилируйте его, используя флаг -Xlint:unchecked. Он скажет вам, где именно вы идете не так, как javac classname -Xlint:unchecked.   -  person Tirath    schedule 23.10.2014
comment
Используйте Эклипс. Он предупредит вас, когда вы что-то испортите. Netbeans делает это, вы должны настроить его.   -  person Jorge Campos    schedule 23.10.2014


Ответы (3)


Вы инициализировали свои списки массивов для необработанных типов в строке

79
100
207
228
275
282
353
401
413
426
439 and 
452  

Эта операция небезопасна, потому что вы никогда не знаете, какие типы объектов могут храниться в вашей структуре данных.

Теперь, поскольку java.util.ArrayList является универсальным классом, вы должны инициализировать его как

ArrayList<String> list = new ArrayList<String>();  

Или начиная с Java 7 и выше

ArrayList<String> list = new ArrayList<>();  // Empty angular brackets to simplify initialisation.  

Если вы все еще получаете предупреждения об отстойности, скомпилируйте его следующим образом:

javac course_214_ma/Barcenas_PA.java -Xlint:unchecked
person Aditya Singh    schedule 23.10.2014
comment
вы, должно быть, удалили несколько строк... Первая проблема в строке 86... Я делал этот список в eclipse. - person Jorge Campos; 23.10.2014

Отметьте строку 86. Экземпляры ArrayList также должны иметь универсальный тег. Например.

ArrayList<String> temp = new ArrayList<String>
person Alex Monroe    schedule 23.10.2014

Этот

ArrayList<String> dataRow = new ArrayList();

является необработанным типом, измените его на

ArrayList<String> dataRow = new ArrayList<>();

У вас много необработанных типов. Тогда вы никогда не используете counter. Либо закомментируйте, либо распечатайте, либо поместите в if. Наконец, вы можете игнорировать предупреждения о том, что Scanner не закрывается. Поскольку вы обертываете System.in, закрытие этих Scanner (ов) было бы плохой идеей.

person Elliott Frisch    schedule 23.10.2014