Do czego dokładnie val a: A = _
inicjalizuje wartość? Czy to wpisana wartość null? Dzięki.
scala
initialization
Gregor Scheidt
źródło
źródło
Odpowiedzi:
val a: A = _
to błąd kompilacji. Na przykład:Co działa to
var a: A = _
(uwagavar
zamiastval
). Jak mówi Chuck w swojej odpowiedzi, inicjalizuje to zmienną do wartości domyślnej. Ze specyfikacji języka Scala:źródło
val
?val a: Int = _
prawdopodobnie jest to błąd kompilacji, ponieważ byłoby to zła praktyka, gdyby zadziałało. Byłby to po prostu zaciemniony sposób pisaniaval a: Int = 0
. Ustawienievar
wartości domyślnej ma sens, ponieważvar
oczekuje się, że a ulegnie zmianie, ale wartość aval
jest ustalona, więc najlepszą praktyką byłoby jawne przypisanie wartości.Inicjuje
a
się do domyślnej wartości typuA
. Na przykład domyślną wartością Int to 0, a domyślną wartością typu odwołania jest null.źródło
NotNull
cechę? :-)_
atutyNotNull
.