Je travaille sur un nouveau projet Android
(Java
) et j'ai créé un objet avec un grand nombre de variables. Comme je prévois d’ajouter des accesseurs et des setters à tous, je me demandais: existe-t-il un raccourci dans Eclipse
pour générer automatiquement les accesseurs et les setters dans une classe donnée?
Affichez le menu contextuel (cliquez avec le bouton droit de la souris) dans la fenêtre du code source de la classe souhaitée. Puis sélectionnez le sous-menu Source
; à partir de ce menu, sélectionner Generate Getters and Setters...
provoquera l'affichage d'une fenêtre de l'assistant.
Source -> Generate Getters and Setters...
Sélectionnez les variables pour lesquelles vous souhaitez créer des getters et des setters, puis cliquez sur OK
.
Dans Eclipse Juno, par défaut, ALT + MAJ + S, R ouvre la boîte de dialogue getter/setter. Notez que vous devez appuyer sur les 4 touches.
Right click -> Source -> Generate setters and getters
Mais pour le rendre encore plus pratique, je mappe toujours ceci à ALT+SHIFT+G de Windows -> Preferences -> General -> Keys
Toutes les autres réponses concernent uniquement le niveau IDE; elles ne constituent pas le moyen le plus efficace et le plus élégant de générer des getters et des setters. Si vous avez des dizaines d’attributs, les méthodes d’obtention et de réglage pertinentes rendront le code de votre classe très prolixe.
Le meilleur moyen que j'ai jamais utilisé pour générer des getters et des setters consiste à utiliser les annotations de projet lombok dans votre projet Java , lombok.jar générer la méthode getter et setter lorsque vous compilez le code Java.
Vous vous concentrez simplement sur l'attribution et la définition d'attributs/variables de classe, Lombok fera le reste. C'est facile de maintenir votre code.
Par exemple, si vous souhaitez ajouter une méthode getter et setter pour la variable age
, vous devez simplement ajouter deux annotations lombok:
@Getter @Setter
public int age = 10;
C'est égal à un code comme ça:
private int age = 10;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
Vous pouvez trouver plus de détails sur Lombok ici: Projet Lombok
Façons de générer des Getters & Setters -
1) Appuyez surAlt+Shift+S, puis R
2) clic droit -> Source -> Générer des Getters & Setters
3) Allez à menu Source -> Générer des Getters & Setters
4) Allez à menu Windows -> Préférences -> Général -> Touches (Write Generate Getters & Setters sur un champ de texte)
5) Cliquez sur le bouton d'erreur du champ -> créez des getters & setters ...
6) Appuyez surCtrl+3 et écrivez getters & setters sur un champ de texte, puis sélectionnez l’option Générer Getters & Setters
si Mac OS appuyez sur Alt + cmd + S puis sélectionnez Getters & Setters
Cliquez avec le bouton droit de la souris -> générer des getters et des setters, mais si vous souhaitez créer un raccourci clavier dans Eclipse dans Windows, suivez les étapes suivantes:
J'espère que cela t'aides!
Sûr.
Utilisez la commande Générer des getters et des setters dans le menu Source ou dans le menu contextuel d'un champ ou d'un type sélectionné, ou une sélection de texte dans un type pour ouvrir la boîte de dialogue. La boîte de dialogue Générer des Getters et des Setters affiche les Getters et les Setters pour tous les champs du type sélectionné. Les méthodes sont regroupées par les champs du type.
Consultez le documentation d'aide pour plus d'informations.
Oui. Cliquez avec le bouton droit sur le code pour afficher un menu contextuel. là-bas "Source", "Générer des Getters et des Setters" et à côté, vous pouvez voir le raccourci, qui est Alt + Maj + S et R sur mon système.
De même, vous pouvez naviguer vers les autres sous-menus de ce menu principal. En tapant le raccourci approprié, vous accédez directement au sous-menu au lieu du menu principal, puis vous pouvez soit choisir dans le menu ou taper une autre lettre à sélectionner dans la liste.
Sur Mac OS c'est Alt+Cmd+S
puis sélectionnez "... Getters and Setters"
Je préfère d'abord créer le champ privé
private String field;
Eclipse mettra automatiquement la variable en surbrillance. En plaçant le curseur sur votre nouvelle variable, appuyez sur Ctrl + 1. Il vous donnera ensuite le menu Créer un getter et un setter.
J'appuie sur Ctrl + 1 car il est un peu plus intelligent sur ce que je pense que vous voulez ensuite.
Appuyez sur Alt + Maj + S + R ... et sélectionnez uniquement tous les champs pour générer des Getters, des Setters ou les deux.
Il y a un fichier jar open source disponible appelé Lombok , vous ajoutez simplement un fichier jar, puis annotez votre POJO avec @ Getter & @Setter , il créera automatiquement des accesseurs.
En dehors de cela, nous pouvons utiliser d'autres fonctionnalités telles que @ ToString , @ EqualsAndHashCode et d'autres trucs sympas qui suppriment le code Vanilla de votre application.
Eclipse> Source> Générer des Getters et des Setters
** Dans Eclipse Ide
pour générer des setters et des getters -> alt + shift + s + r puis Alt A puis cliquez sur ok;
pour générer uniquement des accesseurs -> alt + shift + s + r puis appuyez sur g puis cliquez sur le bouton ok;
pour générer uniquement des setters -> alt + shift + s + r puis appuyez sur l puis cliquez sur le bouton ok; **
Faites un clic droit sur la propriété pour laquelle vous voulez générer le getter et les setters, puis choisissez
Source -> Generate Getters and Setters...
1) Allez à Windows-> Préférences-> Général-> Touches
2) Sélectionnez le command
"Generate Getters and Setters"
3) Dans la Binding
, , appuyez sur le raccourci pour utiliser (comme Alt + Maj + G )
4) Cliquez appliquez et vous êtes prêt à partir
Utilisez Project Lombok ou mieux Kotlin pour vos Pojos.
(En outre, ajouter Kotlin à votre CV;))
Cette :
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
}
deviendrait ceci:
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()
Ou utilisez les classes de "données" de Kotlin. Vous finissez par écrire encore moins de lignes de code.
Il ouvre une fenêtre permettant de sélectionner les champs pour lesquels les méthodes getter/setter doivent être générées. Sélectionnez les champs et cliquez sur le bouton "Générer".