Почему eclipse генерирует имена аргументов как arg0, arg1, arg2 .... для методов? - PullRequest
29 голосов
/ 10 июня 2011

Когда я пытаюсь получить доступ к методу некоторого класса; eclipse получает этот метод, но аргументы внутри этого метода заменяются на arg0, arg1, arg2 ...

Пример: -

Предположим, у меня есть этот метод в каком-то классе с именем ReadFile.java

@Override
public int readXXX(int start, int end, String xxx) throws IOException {
    return 0;
}

Когда я пытаюсь получить доступ к этому методу из экземпляра класса, он показывает мне следующее:

readFile.readXXX(arg0, arg1, arg2);

Становится трудно определить, что я должен передать в качестве аргумента. То же самое происходит и с методами Java. то есть, когда я реализую интерфейс, будут генерироваться все методы, но аргументы в этих методах - arg0, arg1 .....

Есть ли какие-либо настройки, которые я могу предотвратить?

Я использую Eclipse Galelio.

Ответы [ 6 ]

18 голосов
/ 10 июня 2011

Eclipse не может обработать аргументы, потому что не может найти источник или вложения javadoc.

Убедитесь, что ваш источник подключен.

Чтобы проверить, нажмите на вызов метода readXXX и нажмите F3, который должен открыть объявление метода.Если источник не подключен, Eclipse скажет «Источник не найден» и позволит вам «Присоединить источник ...».

3 голосов
/ 31 мая 2012

Если у вас возникла такая же проблема, попробуйте выполнить Project> Clean , это удалит старые файлы классов, и Eclipse перекомпилирует их в режиме отладки на этот раз. Работал для меня в Индиго 3.7.2

3 голосов
/ 10 июня 2011

Проблема в том, что в ваших файлах классов отсутствует встроенная в них отладочная информация.JDT не анализирует исходные файлы или javadoc для зависимостей при построении AST для вашего проекта, поэтому не имеет понятия, как называется параметр, даже когда вы можете открыть класс и ясно увидеть, чтоявляются именами методов.

Чтобы исправить это, вам нужно перекомпилировать файлы классов с включенной отладочной информацией, что делает файл класса значительно больше, но если вы не разрабатываете для устройств с ограничением памяти, вам следуетбудь в порядке.

1 голос
/ 13 января 2016

Я решил эту проблему, перейдя к настройкам
Java / Content Assist
На этой странице в разделе «Сортировка и фильтрация» я снял флажок «Скрыть предложения, не видимые в контексте вызова», вместо просмотра (arg0, arg1,arg2) и т.д. в автозаполнении, которое я вижу (catalog, schemaPattern, tableNamePattern ...)
Я использую Spring Tools Suite 3.7.2, который работает на платформе Eclipse Mars 4.5.1.

0 голосов
/ 04 апреля 2017

Эта ссылка помогла мне решить эту проблему.

1) Щелкните правой кнопкой мыши на своем android.jar и выберите Свойства.

enter image description here

2) Выберите Приложение источника Java.Введите местоположение исходного каталога (вы также можете использовать Внешнюю папку…, чтобы перейти к каталогу) и нажать «Применить».

enter image description here

Имена кодовдля удобства сопоставьте следующие номера версий, а также уровни API и версии NDK:

enter image description here

0 голосов
/ 09 октября 2014

для таких, как я, кто пытался применить одно из предложений наших коллег и, к сожалению, не сработал, пожалуйста, попробуйте проверить опцию «Добавить переменные атрибуты в сгенерированные файлы классов (используемые отладчиком)» в Window -> Настройки -> Java + Compiler.

После того, как вы это сделаете, попробуйте собрать проект еще раз.

Cheers.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...