Итак, есть определенный класс, который я переопределяю в определенной структуре (не имеет значения, но это среда SecureSocial для Play). Метод я переопределение имеет подпись:Попытка конвертировать HashMap в scala ListMap
В Scala:
override val providers : scala.collection.immutable.ListMap[scala.Predef.String, securesocial.core.IdentityProvider] = { /* compiled code */ }
Итак, я просто написал как:
@Override
ListMap<String, IdentityProvider> providers() { ... }
Проблема заключается в том, что единственное, что я могу сделать с ListMap
от Java:
new ListMap<>();
Это не очень полезно. Map
, который я хочу переопределить, вводится через DI, а у меня есть java.util.HashMap
. Итак, мой метод выглядит так:
@Override
ListMap<String, IdentityProvider> providers() {
Map<String, IdentityProvider> providerMap = this.providerMap;
toScalaListMap(providerMap);
}
Конечно, toScalaListMap
не существует. Как мне его написать? Я пробовал искать в Интернете и смотреть на документацию scala, но, учитывая мои ночные знания Scala, я не знаю с чего начать. Я добавляю тег securesocial
в этом вопросе на всякий случай.
Но я не думаю, что могу получить доступ к любому методу, называемому 'asScala', из файла .java. Компилятор не обнаружит этот метод. –
А, ладно, извините. Я изменил ситуацию; Я думал, вы работаете в scala и пытаетесь импортировать коллекцию java. Виноват. –