web-dev-qa-db-fra.com

Existe-t-il un moyen de générer automatiquement des getters et des setters dans Eclipse?

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?

243
Phil

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.

341
Hagai Cibulski

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.

70
RoboAlex

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

68
Bozho

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

39
dongpf

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

30
Deepak Gupta

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:

  1. Aller à la fenêtre> Préférences
  2. Aller à Général> Touches
  3. Liste pour "Quick Assist - Créer un getter/setter pour un champ"
  4. Dans le champ de texte "Liaison" ci-dessous, maintenez les touches souhaitées (dans mon cas, j'utilise ALT + SHIFT + G).
  5. Appuyez sur Appliquer et sur Ok
  6. Maintenant, dans votre éditeur Java, sélectionnez le champ pour lequel vous souhaitez créer des méthodes getter/setter et appuyez sur le raccourci que vous avez configuré à l'étape 4. Cliquez sur ok dans cette fenêtre pour créer les méthodes.

J'espère que cela t'aides!

11
sufinawaz

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.

9
vcsjones

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.

8
Zds

Sur Mac OS c'est Alt+Cmd+S puis sélectionnez "... Getters and Setters"

7
Alexander Volkov

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.

7
David Chiew

Appuyez sur Alt + Maj + S + R ... et sélectionnez uniquement tous les champs pour générer des Getters, des Setters ou les deux.

5
Sagar Sawant

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.

4
rajadilipkolli

Eclipse> Source> Générer des Getters et des Setters

3
user2332195

** 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; **

3
abhinav

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...
2
Eduardo Dennis

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

2
Prateek Joshi

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.

1
Wolf359
  • Pour toutes les variables ALT + SHIFT + S Puis R et pour tout sélectionner Appuyez sur ALT + A

  • Pour une variable unique Placez le curseur sur la variable, puis appuyez sur CTRL + 1 et sélectionnez la deuxième option parmi les suggestions.

ScreenShot

1
Rohit Mewada
  1. Ouvrez le fichier de classe dans Eclipse
  2. Double-cliquez sur le nom de la classe ou mettez-le en surbrillance
  3. Ensuite, accédez à Source -> Insérer un code
  4. Cliquez sur Getter et Setter

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". enter image description hereenter image description here

1