2009-11-24 20 views
16

Cuando estoy codificando en eclipse, me gusta ser lo más flojo posible. Así que con frecuencia escribo algo como:¿Puedo generar campos automáticamente en eclipse desde un constructor?

myObject = new MyClass (myParam1, myParam2, myParam3);

Aunque MyClass no existe y tampoco lo es su constructor. Unos clics más tarde y eclipse ha creado MyClass con un constructor inferido a partir de lo que escribí. Mi pregunta es, ¿es posible obtener eclipse para generar campos en la clase que correspondan a lo que pasé al constructor? Me doy cuenta de que es muy vago, ¡pero esa es toda la alegría del eclipse!

Respuesta

28

Si usted tiene una clase A.

class A{ 
    A(int a |){} 
} 

| es el cursor Ctrl + 1"parámetro de asignación al nuevo campo"

Resultado:

class A{ 
    private final int a; 
    A(int a){ 
     this.a = a; 
    } 
} 

Esto funciona también para métodos:

void method(int b){} 

resultará en:

private int b; 
    void method(int b){ 
     this.b = b; 

    } 
+0

Saludos, esto es exactamente lo que estaba buscando. – Benj

+1

Hombre, me encanta Eclipse. ¡Gracias! +1 –

+2

¿Cómo usar esto con múltiples campos? Por ejemplo, si tengo 5 campos y quiero generar estos campos solo en un movimiento – pleerock

4

Sé que puede hacer al revés. Definir los campos y dejar Eclipse generar un constructor usando estos campos para usted: Source | Generate Constructor using Fields

+0

muy útil, estoy seguro de que voy a usar esto a pesar de que no era lo que yo buscaba en la actualidad. – Benj

0

Desde Eclipse Neon es posible asignar todos los parámetros a los campos.

Uso de la Ayuda rápida Ctrl + que sugieren Assign all parameters to new fields. Puede solicitar la ayuda rápida si el cursor está entre el paréntesis del constructor.

Esta opción también está disponible para los métodos.

source

Cuestiones relacionadas