Как изменить метод toString () в NetBeans (Java) - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу изменить шаблон метода toString() при его генерации с использованием alt + ins , и я не знаю, как.

Смотри, когда я генерирую метод, используя alt + ins , иде дает мне это:

@Override
public String toString() {
    return "name=" + name + " id=" + id;
}

И я хочу изменить автогенерацию на что-то вроде этого:

@Override
public String toString() {
    return "\n name=" + name + "\n id=" + id;
}

1 Ответ

0 голосов
/ 26 апреля 2018

Краткий ответ: в NetBeans нет простого способа настроить метод toString()</b> для выполнения желаемых действий.

Длинный ответ:

1 Как вы указали, использование Alt + Ins сгенерирует toString() метод, подобный этому:

@Override
public String toString() {
    return "JavaApplication4{" + "name=" + name + ", id=" + id + '}';
}

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

2 Вы также можете использовать Ctl + Пробел для генерации другого toString() метода:

@Override
public String toString() {
    return super.toString(); //To change body of generated methods, choose Tools | Templates.
}

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

  • Нет способа указать имена переменных в шаблоне.
  • Даже если бы вы могли это сделать,тот же код шаблона будет также использоваться другими сгенерированными методами, такими как hashCode()</b> и equals()</b>, что не будет хорошо.

[3] Еще один возможный подход - генерировать код с использованием Alt + Ins , а затем использовать регулярное выражение для изменения сгенерированного кода:

  • Найдите строку, содержащую public String toString()</b>
  • В следующую строку вставьте \n сразу после каждого экземпляра + ".(то есть пробел-плюс-пробел-двойная кавычка).

В зависимости от того, как часто вы будете создавать toString() методы, этот подход может быть лучше, чем подверженное ошибкам ручное редактированиекаждого сгенерированного <b>toString() метода.

[4] Нетривиальным подходом было бы написать собственный Генератор кода , чтобы добавить запись во всплывающее меню при нажатии Alt + Ins .Тем не менее, кажется, что нужно приложить немало усилий, чтобы настроить вывод toString()</b>.

[5]. Другой подход заключается в том, чтобы выдать отчет об ошибках в NetBeans для улучшениясуществующая функциональность , добавив опцию для включения перевода строки перед каждой переменной при генерации метода toString()</b>.Хотя это идеальное решение, и, по-видимому, оно будет тривиально для реализации, оно, вероятно, не будет очень значительным в их списке приоритетов.

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