¿En qué se val a: A = _
inicializa exactamente un valor? ¿Es esto un nulo escrito? Gracias.
scala
initialization
Gregor Scheidt
fuente
fuente
Respuestas:
val a: A = _
es un error de compilación. Por ejemplo:Lo que funciona es
var a: A = _
(nota envar
lugar deval
). Como dice Chuck en su respuesta, esto inicializa la variable a un valor predeterminado. De la especificación del lenguaje Scala:fuente
val
?val a: Int = _
probablemente sea un error de compilación porque sería una mala práctica si funcionara. Sería una forma de escribir confusaval a: Int = 0
. Establecervar
a en un valor predeterminado tiene sentido ya quevar
se espera que a cambie, pero aval
es fijo, por lo que la mejor práctica sería asignar un valor explícitamente.Se inicializa
a
con el valor predeterminado del tipoA
. Por ejemplo, el valor predeterminado de un Int es 0 y el valor predeterminado de un tipo de referencia es nulo.fuente
NotNull
rasgo? :-)_
triunfarNotNull
.