2014-02-08 4 views
0

Создал класс с именем Achievement с конструктором, который принимает пять параметров (id, title, description, datetime, notified). Когда я хочу, чтобы создать новое достижение в другом классе, Eclipse предлагает имена параметров, которые не имеют ничего общего с этими параметрами (соответствует их по типу), но и некоторые другие переменные, а не нравится:Java/Eclipse предлагает параметры метода

Achievement newAchievement = new Achievement(currentRank, APP_NAME, APP_NAME, savedDate, settings_achievementsound); 

Это то, что я могу повлиять или сделать Eclipse автоматическим? Было бы полезно, если бы у меня были описательные имена параметров, в идеале те же имена, что и в конструкторе.

+1

Можете ли вы показать нам подпись метода фактического конструктора и предложения intellisense? Есть ли другой класс с тем же именем? –

+0

Вы не после * параметров * - вы за * аргументы * ... и я не совсем уверен, почему вы ожидаете, что он предложит имена аргументов, которые не соответствуют переменным, находящимся в области видимости. –

+0

Ну, мне пришлось переключиться взад и вперед от класса к классу, чтобы посмотреть, какие аргументы были. Есть ли способ создать какой-то намек или что-то еще? Когда я делаю это с помощью других методов (например, intent.getIntExtra), Eclipse объясняет, что каждый аргумент – TimSim

ответ

0

Одной из возможностей является создание переменных в области видимости, которые представляют параметры, которые вы передаете этому конструктору. Другая возможность - жестко закодировать аргументы, а не объявлять их как отдельные переменные.

1

Там есть установка на Java > Editor > Content Assist > Fill method arguments and show guessed arguments > Insert best guessed arguments , чтобы сделать матч Затмения более переменных на аргументы, 60% времени он работает каждый раз;)

Попробуйте ввести «новый Achievement», а затем выбрать конструктор вы хотите от popup listbox через ENTER. После этого у вас будут те хорошие или плохие догаданные аргументы, пройдите через них с помощью TAB и выберите переменную, которая соответствует вашей цели с помощью UP/DOWN.

EDIT: Просто понял, что вы хотите описательные имена, тогда вам нужен другой вариант: Insert parameter names!

Смежные вопросы