псевдоним типа scala для java enum не работает? - PullRequest
2 голосов
/ 24 июня 2019

Псевдоним типа Scala для java-класса работает нормально, т.е.

type JavaDate = org.joda.time.LocalDate

val date = new JavaDate(2019, 6, 20)
println(date)

Но псевдоним типа java enum не работает?

val m1 = java.time.Month.JANUARY
println(m1)

type JavaMonth = java.time.Month

val m2 = JavaMonth.FEBRUARY
println(m2)

Ошибка: не найдено: значение JavaMonth: val m2 = JavaMonth.FEBRUARY

Как я могу использовать псевдоним для java enum? Спасибо!

1 Ответ

1 голос
/ 24 июня 2019

Подумайте об использовании переименования импорта вместо псевдонимов типа:

import java.time.{Month => JavaMonth}
val m2 = JavaMonth.FEBRUARY

Псевдоним типа может быть более подходящим для упрощения более сложных типов, таких как

type Response = Future[Either[Error, Int]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...