Foros del Web » Programación para mayores de 30 ;) » Java »

Duda urgente sobre nombre de atributo

Estas en el tema de Duda urgente sobre nombre de atributo en el foro de Java en Foros del Web. Hola señores de forosdelweb, tengo que terminar un trabajo y para eso necesito de una ayuda en una duda que tengo, tengo en el codigo ...
  #1 (permalink)  
Antiguo 06/10/2007, 17:57
 
Fecha de Ingreso: agosto-2007
Mensajes: 22
Antigüedad: 16 años, 8 meses
Puntos: 0
Duda urgente sobre nombre de atributo

Hola señores de forosdelweb, tengo que terminar un trabajo y para eso necesito de una ayuda en una duda que tengo, tengo en el codigo algo como esto:

Código:
public class Anio{
String[][] enero;
String[][] febrero;
...
String[][] diciembre;
...
Y tengo en la misma clase el siguiente metodo:
Código:
public String[][] devolverMes(String mes){
        return ¿?
}
La duda es, yo se que String mes va a ser igual a enero, febrero, marzo, etc. un mes, como hago para retornar la variable que tiene el mismo nombre. Por ejemplo si String mes = julio que retorne el array julio. Recuerdo que es usando un tipo de parentesis pero no recuerdo cual y como, gracias.
  #2 (permalink)  
Antiguo 06/10/2007, 21:59
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Re: Duda urgente sobre nombre de atributo

La forma más directa es mediante un gran IF ELSE:

Código:
 if(mes.equals("enero"))
    return enero;
if(mes.equals("febrero"))
    return febrero;
...............
if(mes.equals("diciembre"))
    return diciembre;
Es medio feo hacerlo así, pero es lo más simple (creo). Si no quieres hacer eso, puedes hacer algo con reflect:

Código:
    public String[][] devolverMes(String mes) throws NoSuchFieldException, IllegalAccessException {
        Class clase = this.getClass();
        Field campo = clase.getDeclaredField(mes);
        String[][] ret = (String[][]) campo.get(this);
        return ret;        
    }
Espero que te sirva
  #3 (permalink)  
Antiguo 07/10/2007, 07:41
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Duda urgente sobre nombre de atributo

¿Y por que no meter las matrices de String[][] dentro de un Map indexado por los nombres? ¿O usar un enum? Algo más facil/eficiente que tener que usar reflection o un gran if/else.

De todas formas, no es que este mal o no funcione.

S!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:41.