Почему eclipse генерирует имена аргументов как arg0, arg1, arg2… для методов?

Когда я пытаюсь получить доступ к некоторому методу класса; 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.

30
задан Harry Joy 10 June 2011 в 08:39
поделиться

5 ответов

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

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

3
ответ дан 28 November 2019 в 00:23
поделиться

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

4
ответ дан 28 November 2019 в 00:23
поделиться

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

1
ответ дан 28 November 2019 в 00:23
поделиться

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

Как только вы это сделаете, попробуйте снова построить проект.

Ура.

0
ответ дан 28 November 2019 в 00:23
поделиться

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

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

enter image description here

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

enter image description here

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

enter image description here

0
ответ дан 28 November 2019 в 00:23
поделиться
Другие вопросы по тегам:

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