Как я могу подавить предупреждения компилятора Java о Sun собственный API [дубликат]

Существуют больше, чем несколько человек, которым не нравится break и continue. Последняя жалоба я занялся ими, была в [1 112] JavaScript: Хорошие Части Douglas Crockford. Но я нахожу, что иногда использование одного из них действительно упрощает вещи, особенно если Ваш язык не включает do-while или do-until стиль цикла.

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

я использую continue при выполнении чего-то с большинством элементов списка, но все еще хочу перескочить через некоторых.

break оператор также пригождается при опросе относительно допустимого ответа от кого-то или чего-то. Вместо:

Ask a question
While the answer is invalid:
    Ask the question

Вы могли устранить некоторое дублирование и использование:

While True:
    Ask a question
    If the answer is valid:
        break

do-until цикл, который я упомянул прежде, является более изящным решением для той конкретной проблемы:

Do:
    Ask a question
    Until the answer is valid

Никакое дублирование и никакой break необходимый также.

14
задан Jonik 7 June 2011 в 11:21
поделиться

5 ответов

Вы можете переключиться на другую реализацию Base64, например, http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Base64. html , который является частью общих пакетов Apache, которые вы, возможно, уже включили в свой путь к классам, или http://iharder.sourceforge.net/current/java/base64/ , который вы могли бы просто возьмите реализацию и вставьте ее в свое исходное дерево, если вы не хотите, чтобы на пути был еще один Jar.

16
ответ дан 1 December 2019 в 06:16
поделиться

Инкапсулируйте вызов в классе, который вы помещаете в jar библиотеки на пути к классам. Тогда предупреждение отображается только при перекомпиляции этой библиотеки.

0
ответ дан 1 December 2019 в 06:16
поделиться

Eclipse действительно имеет настройку, которая (должна) принимать это, см., Например, описание в Примечания к выпуску Eclipse 3.1 :

Настройки → Java → Компилятор → Ошибки / предупреждения → Устаревший и ограниченный API → Запрещенная / нерекомендуемая ссылка

(и страница свойств проекта, позволяющая переопределить этот параметр для конкретного проекта)

3
ответ дан 1 December 2019 в 06:16
поделиться

Вы не можете выключить их, Eclipse просто фильтрует их за вас (если это будет сказано).

Быстрое временное исправление в Linux:

javac *.java 2>&1 | pcregrep -v -M ".*Sun proprietary API.*\n.*\n.*\^"

2> & 1 ... помещает STDERR в STDOUT, поэтому конвейер "|" будет работать

pcregrep может присутствовать или отсутствовать в вашей системе - в противном случае используйте служебную программу вашего пакета (например, в Debian, Ubuntu и т. д .: "sudo apt-get install pcregrep")

Выражение ищет "Sun проприетарный API »и следующие две строки (содержащие строку и« ^ », указывающие позицию ошибки в строке).

Я оставляю« предупреждения XY ». строка в конце, Note that if you have other warnings as well, the number reported there will of course not be correct :o)

NOTE also that standard "grep" does not work as well, because it can't span multiple lines.

2
ответ дан 1 December 2019 в 06:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: