2011-11-19 8 views
2

Cela peut être une question paresseuse super-boiteuse.Générateur de génération automatique avec initialisation par défaut des variables

Est-il possible de générer de constructeur dans Eclipse comme

class A{ 
    int a; 
    String b; 
    float c; 

    /* Is it possible to auto-generate this*/ 
    public A() { 
     a = 0; 
     b = ""; 
     c = 0f; 
    } 
} 

Je suis conscient que l'initialisation par défaut serait tout cas prendre soin de cela, mais je besoin d'un produit auto-code comme ceci afin que je puisse changer la valeur par défaut valeur de dire int comme 5 et flotter comme 3 et ainsi de suite.

Si ce n'est pas disponible, la prochaine meilleure option serait de générer un constructeur en utilisant les champs, puis de le convertir en ceci.

+1

Si vous devez quand même modifier toutes les valeurs, la créer vous-même serait aussi rapide. Notez que les initialisations a et c sont redondantes ici, mais pas b (la valeur par défaut d'une chaîne est null, et non ""). –

Répondre

2

Pour cela, définissez les champs lorsque vous les déclarez:

class A{ 
    int a = 9; 
    String b = ""; 
    float c = 0f; 
1

Vous pouvez modifier les valeurs par défaut dans le champ déclarations:

class A { 
    private int a = 3; 
    private String b = "asdf"; 
    private float c = 3; 
    ... 
} 

Mais si vous attendez clients pour fournir des valeurs, alors son mieux les accepter en tant que paramètres du constructeur:

public A() { } // default constructor will use the values in the fields 
public A(int a, String b, int c) { 
    this.a = a; 
    this.b = b; 
    this.c = c; 
} 
1

Je ne pense pas qu'il y en ait. Parce que, comme vous l'avez dit, vous n'en avez pas besoin. Les primitives sont initialisées de cette façon - si vous voulez les changer, faites-le. Et eclipse ne peut pas savoir quelle est la valeur par défaut pour les non-primitives.

1

Il n'y a pas de chemin direct pour ce que vous essayez d'atteindre, mais OUI, il existe un moyen de générer automatiquement un constructeur en fonction des champs de votre classe.

Dans Eclipse, voir ...

Source/Générer Constructor en utilisant des champs ...

... et vous pouvez sélectionner des champs, que vous souhaitez initialiser puis change les valeurs par défaut et les paramètres du constructeur.

Note: Pour votre solution, sélectionnez les champs que vous souhaitez initialiser puis les supprimer de paramètres du constructeur, il deviendra constructeur sans paramètre.

Pour plus d'informations, visitez ce lien. http://www.eclipseonetips.com/2010/03/08/generate-class-constructors-in-eclipse-based-on-fields-or-superclass-constructors/

Questions connexes