Secciones

Artículos para tus primeros pasos

Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos: 

Entrevistas con los expertos
 

Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:


Un proyecto de:
ImaginaWorks
Campus Escuela de Groovy

Groovy avanzado

Como hago que un metodo me devuelva un objeto de cierto tipo?

idecasso - viernes 10/07/2009
Necesito que un metodo me devuelva un objeto de un tipo que se determinara en tiempo de ejecucion, algo asi como los Generics, el asunto es que necesito hacer esto para enviarlo usarlo con un programa en Java y para evitar la conversion implicita queria saber si alguien conoce una forma de hacer esto en Groovy, claro, si el programa fuera 100% en Groovy no necesitaria hacer esto :P

Re: Como hago que un metodo me devuelva un objeto de cierto tipo?

Nacho - lunes 13/07/2009

Groovy soporta Generics desde la versión 1.5. No es un soporte completo, pero suficiente para permitir la integración con Java. En particular, algo como esto debería funcionar:

Genericos.printType(String)

/**
 *
 * @author nacho
 */
class Genericos {

    static <T> void printType(T anyType)
    {
        println anyType.class.name
    }

}

 

Re: Como hago que un metodo me devuelva un objeto de cierto tipo?

idecasso - lunes 13/07/2009
Gracias Nacho, muy util tu informacion, ya lo corri en groovyConsole y me funciono como dices, tan solo me quedo la duda de por que se pone el <T> antes del void, no recuerdo bien como escribir las clases genericas, a veces son un asuntillo medio enredoso en Java... que en Groovy es muy sencillo ya que no son necesarios por el tipeado dinamico :P, pero me imagino que va ahi para indicarle que el tipo T es generico, muchas gracias.
Responder al hilo | Volver al foro "Groovy avanzado" | Volver a los foros