Лучший способ состоял бы в том, чтобы найти способы собрать в группу аргументы. Это принимает, и действительно только работает, если, Вы закончили бы с несколькими "группировками" аргументов.
, Например, при передаче спецификации для прямоугольника можно передать x, y, ширину и высоту, или Вы могли просто передать прямоугольный объект, который содержит x, y, ширину и высоту.
Ищут вещи как это при рефакторинге для чистки его несколько. Если аргументы действительно не могут быть объединены, начните смотреть на то, есть ли у Вас нарушение Единственного Принципа Ответственности.
Определение @Override
немного изменилось в Java 6 ( и, к сожалению, без надлежащей документации ), в котором аннотация @Override
для метода, реализующего интерфейс метод действителен. В Java 5 это считалось ошибкой.
Аннотация @override была введена в JDK> 1.5.
Будете ли вы использовать на этой машине старую версию JDK случайно?
Моя теория заключается в том, что ваш Eclipse настроен для соответствия JDK 1.6, но ваша сборка Ant (или что-то еще) компилируется с помощью компилятора JDK 1.5.
В @Override внесены изменения. аннотация между JDK 1.5. и 1.6. В версии 1.5 его можно было использовать только тогда, когда конкретный метод фактически переопределяет конкретный метод в суперклассе. В JDK 1.6 его также можно использовать, когда аннотированный метод реализует абстрактный метод, определенный в интерфейсе или суперклассе.
Чтобы установить уровень соответствия Eclipse, откройте Windows> Preferences, выберите панель Java> Compiler и измените для параметра «Соответствие компилятора Java» значение 1,5. Затем используйте «Применить» или «ОК», чтобы применить изменение предпочтений.
(AFAIK, нет никакого способа заставить Eclipse выдавать предупреждения в стиле 1.5 в режиме соответствия 1.6.)