Есть ли способ автоматически генерировать геттеры и сеттеры в Eclipse?
Я работаю над новым (Java), и создал объект с большим количеством переменных. Так как я планирую добавить геттеры и сеттеры для всех из них, мне было интересно: есть ли ярлык в Eclipse для автоматического создания геттеров и сеттеров в данном классе?
18 ответов:
вызовите контекстное меню (т. е. щелкните правой кнопкой мыши) в окне исходного кода нужного класса. Затем выберите
Sourceподменю; из этого меню выбратьGenerate Getters and Setters...вызовет окно мастера появится.
Source -> Generate Getters and Setters...выберите переменные, для которых вы хотите создать геттеры и сеттеры, и нажмите
OK.
в Eclipse Juno, по умолчанию,ALT + SHIFT+S, R открывает диалоговое окно геттер/сеттер. Обратите внимание, вы должны нажать все 4 кнопки.
Right click -> Source -> Generate setters and gettersно чтобы было еще удобнее,Я всегда сопоставляю это с ALT+SHIFT+G С
Windows -> Preferences -> General -> Keys
все остальные ответы просто сосредоточены на уровне IDE, это не самый эффективный и элегантный способ создания геттеров и сеттеров. Если у вас есть десятки атрибутов, соответствующие методы getters и setters сделают ваш код класса очень подробным.
лучший способ, который я когда-либо использовал для автоматического создания геттеров и сеттеров, - это использование аннотаций project lombok в вашем проекте java, Ломбок.банку будет создать геттер и сеттер для вас компиляция Java-кода.
вы просто сосредоточиться на атрибутах класса/переменных именования и определения, Ломбок будет делать все остальное. Это легко поддерживать ваш код.
например, если вы хотите добавить метод getter и setter для
ageпеременная, вы просто добавляете два Ломбок аннотации:@Getter @Setter public int age = 10;Это равно коду вроде этого:
private int age = 10; public int getAge() { return age; } public void setAge(int age) { this.age = age; }здесь вы можете найти более подробную информацию о Ломбоке: Проект Lombok
Способы генерации геттеров и сеттеров -
1) пресс Alt+Shift+S, потом R
2) щелкните правой кнопкой мыши - > Источник - > Генерация Геттеров И Сеттеров
3) Заходим в МЕНЮ Источник - > Генерация Геттеров И Сеттеров
4) Перейти к меню Windows - > Preferences - > General - > Keys (Write Generate Getters & Setters on text field)
Пять) нажмите на лампочку ошибки поля - > создать геттеры и сеттеры ...
6) прессCtrl+3 и написать геттеры и сеттеры на текстовом поле, а затем выберите опцию Создать геттеры и сеттерыЕсли Mac OS нажмите Alt + cmd+S затем выберите Getters & Setters
щелкните правой кнопкой мыши - > создать геттеры и сеттеры делает работу хорошо, но если вы хотите создать сочетание клавиш в eclipse в windows, вы можете выполнить следующие действия:
- перейти в окно > настройки
- перейдите в раздел Общие > ключи
- Список для "Quick Assist-Create getter / setter for field"
- в текстовом поле" привязка " ниже удерживайте нужные клавиши (в моем случае я использую ALT + SHIFT + G)
- нажмите "Применить" и ОК
- Теперь в Редакторе Java выберите поле, для которого вы хотите создать методы getter/setter, и нажмите ярлык, который вы настроили на шаге 4. Нажмите ОК в этом окне, чтобы создать методы.
надеюсь, что это помогает!
конечно.
для открытия диалогового окна используйте команду Создать геттеры и сеттеры из меню Источник или контекстного меню для выбранного поля или типа, а также текстовое выделение в типе. В диалоговом окне Создание геттеров и сеттеров отображаются геттеры и сеттеры для всех полей выбранного типа. Методы группируются по полям типа.
посмотри справка для получения дополнительной информации.
да. Щелкните правой кнопкой мыши на коде, и вы увидите всплывающее меню; там "источник", "генерация геттеров и сеттеров" и рядом с ним вы можете увидеть ярлык, который является Alt+Shift+S и R в моей системе.
аналогично вы можете перейти к другим подменю в этом главном меню, введя соответствующий ярлык вы идете прямо подменю вместо главного контекстного меню, а затем можете выбрать из меню или ввести другую букву, чтобы выбрать из списка.
Я предпочитаю сначала создать личное поле
private String field;Eclipse автоматически выделит переменную, установив курсор на новую переменную, нажмите Ctrl + 1. Затем он даст вам меню для создания геттера и сеттера.
Я нажимаю Ctrl + 1, потому что это немного более разумно о том, что я думаю, что вы хотите дальше.
Нажмите Alt + Shift+S+R... а затем только выбрать, какие все поля вы должны генерировать геттеры или сеттеры или оба
есть jar с открытым исходным кодом, известный как Ломбок, вы просто добавить банку, а затем аннотировать POJO с @Getter & @Setter он будет автоматически создавать геттеры и сеттеры.
помимо этого мы можем использовать другие функции, такие как @ToString, @EqualsAndHashCode и довольно другие интересные вещи, которые удаляет код ванили из вашего приложения
* * В Eclipse Ide
для генерации как сеттеров, так и геттеров - > alt + shift+s+r затем Alt A затем нажмите ok;
для генерации только геттеров - >alt + shift+s+r затем нажмите g затем нажмите кнопку ok;
для генерации только сеттеров - >alt + shift+s+r затем нажмите l затем нажмите кнопку ok;**
щелкните правой кнопкой мыши на свойстве, для которого вы хотите создать геттер и сеттеры, и выберите
Source -> Generate Getters and Setters...
1) Перейти к Windows - > Настройки - > Общие - > Ключи
2) Выберите
command" генерация геттеров и сеттеров"3) в
Binding,нажмите на клавиатуре как использовать (например,Alt + Shift+G)4) Нажмите кнопку применить и вы хорошо идти
используйте проект Ломбок или лучше Котлин для вашего Pojos.
(также, чтобы добавить Kotlin в свое резюме ;))
Это :
public class BaseVO { protected Long id; @Override public boolean equals(Object obj) { if (obj == null || id == null) return false; if (obj instanceof BaseVO) return ((BaseVO) obj).getId().equals(id); return false; } @Override public int hashCode() { return id == null ? null : id.hashCode(); } // getter setter here } public class Subclass extends BaseVO { protected String name; protected String category; // getter setter here }стало бы так:
open class BaseVO(var id: Long? = null) { override fun hashCode(): Int { if (id != null) return id.hashCode() return super.hashCode() } override fun equals(other: Any?): Boolean { if (id == null || other == null || other !is BaseVO) return false return id.hashCode() == other.id?.hashCode() } } @Suppress("unused") class Subclass( var name: String? = null, var category: String? = null ) : BaseVO()или использовать "данные" классы Котлина. В итоге вы пишете еще меньше строк кода.


Comments