Есть ли элегантный способ конвертировать java.time.Duration
в scala.concurrent.duration.FiniteDuration
?Преобразование Java в Scala длительности
Я пытаюсь сделать следующее простое использование Config в Scala:
val d = ConfigFactory.load().getDuration("application.someTimeout")
Однако я не вижу простой способ использовать результат в Scala. Конечно надеюсь, хорошие люди типизированного не ожидал, что мне сделать это:
FiniteDuration(d.getNano, TimeUnit.NANOSECONDS)
Edit: Обратите внимание, что строка содержит ошибку, которая доказывает точку. См. Выбранный ответ ниже.
Что с проявленное решением? Это легко и понятно. Оберните его в функцию/создайте неявное преобразование, если оно недостаточно для вас. – sschaef
@sschaef bothering bit - предположительная «scala-friendly» библиотека, чтобы выплевывать Java-типы, но это не новость, когда вы говорите о Config. –
Configafe Config служит как клиентам Java, так и Scala, по определению его проекта. Я согласен, что использование неявного преобразования немного удивительно. Я рассказываю об этом в однопользовательском режиме MyConfig, поэтому код приложения никогда не понадобится знать. Не следует посыпать raw Configafe Config access в коде уровня приложения. – akauppi