2010-01-30 1 views
1

Что означает эта ошибка?Что означает ошибка компилятора небезопасных операций?

Note: Main.java uses unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details. 

Любые предложения, как избежать такой ошибки?

+0

Вам нужно будет опубликовать код. Ошибка может означать любое количество вещей. – Quotidian

ответ

1

Во-первых, перекомпилируйте с помощью -Xlint: непроверено, чтобы узнать, в чем проблема. Затем исправить эти проблемы. Существует ряд потенциальных причин высокого уровня для непроверенных предупреждений. Во-первых, вы не указали параметры типа, в которых вы должны были иметь. Есть ситуации, когда они неизбежны, а затем вы можете подавить конкретное предупреждение, но это исключение, и необходимо принять меры к тому, чтобы вы не подавляли предупреждения, которые действительно важны.

Так перекомпилируйте с -Xlint: непроверено и опубликуйте дополнительные вопросы, если у вас есть проблемы с любой из выявленных проблем.

3

Это ошибка, которую вы получите при использовании Collections без указания типа. Вы, наверное, есть что-то вроде:

ArrayList myList = new ArrayList(); // or some other Collection class 

Если это так, то вам нужно изменить это, чтобы указать, какой тип объектов, которые вы хотите сохранить. Например:

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

Подробнее читайте на Java Generics.

Это мое лучшее предположение, не видя ваш код и полное сообщение об ошибке. Могут быть другие причины для этого сообщения, это только проблема, которую я видел, сопровождал это сообщение раньше.

0

Что это значит?

Java генерики позволяют писать что-то вроде этого:

List<String> l = ...; 
String s = l.get(0); // note there is no explicit typecast. 

Но если компилятор говорит вам, что ваш код «или небезопасных операций», он говорит, что вы нарушили правила с использованием дженериков безопасно, а ваш код может дать исключение класса выполнения в неожиданных местах; например в вышесказанном выше, где мы исключили тип.

Есть несколько вещей, которые заставят компилятор жаловаться на непроверенные или небезопасные операции, и каждый из них требует другого исправления. Сделайте то, что говорит компилятор, и запустите его с помощью опции -Xlint.

 Смежные вопросы

  • Нет связанных вопросов^_^