2009-10-19 13 views

Respuesta

13
def foo[T] { 
    var t: T = null.asInstanceOf[T] 
    t 
} 

Y, si no te gusta la ceremonia involucrado en eso, se puede facilítelo de esta manera:

// Import this into your scope 
    case class Init() 
    implicit def initToT[T](i: Init): T = { 
    null.asInstanceOf[T] 
    } 

    // Then use it 
    def foo[T] { 
    var t: T = Init() 
    t 
    } 
8

No se puede no inicializar las variables locales, pero puede hacerlo para los campos:

scala> class foo[T] { 
    | var t: T = _ 
    | } 
defined class foo 
+2

¿sabe por qué está permitido para variables de clase pero no para variables de método? – IttayD

+0

No, no sé. –

Cuestiones relacionadas