Checkstyle и Generics - PullRequest
       6

Checkstyle и Generics

4 голосов
/ 09 ноября 2010

Я пытаюсь исправить все предупреждения Checkstyle для моего проекта, но я постоянно спотыкаюсь о чем-то очень раздражающем, когда мне нужно создать класс, который принимает аргумент Generics. Возьмите следующую строку, например:

labels = new HashSet < String >();

Тогда Checkstyle жалуется, что «>» не сопровождается пробелами ». Поэтому я пишу пробел:

labels = new HashSet < String > ();

И теперь он жалуется, что '"(" предшествует пробел ".

Это ошибка? Есть ли способ обойти это без добавления аннотации @SupressWarnings?

Ответы [ 3 ]

3 голосов
/ 14 февраля 2011

Убедитесь, что вы используете хотя бы версию 5.0 Checkstyle, так как она исправила обработку обобщений.См. Примечания к выпуску http://checkstyle.sf.net/releasenotes.html.

1 голос
/ 09 ноября 2010

Вероятно, он думает, что > больше оператора, потому что перед ним есть пробел.

Общий способ объявления пространственных обобщений выглядит следующим образом:

labels = new HashSet<String>();

Если ваши правила проверки стиля не изменены, то, скорее всего, вышесказанное пройдет.

0 голосов
/ 05 апреля 2016

У меня используется Checkstyle версии 6.17, и я решил эту проблему, удалив GENERIC_START и GENERIC_END из поля tokens в WhitespaceAround .

...