Как импортировать класс, используя полное имя?

Создать файл test1.scala со следующим кодом:

package test
import java.io.FileInputStream
object Foo 

создать другой файл test2.scala со следующим кодом:

package test.java
object Bar 

Теперь скомпилируйте как scalac test1.scala test2.scala:

Мы получаем ошибку:

test.scala:2: error: object io is not a member of package test.java
import java.io.FileInputStream
            ^
one error found

Я думаю, что ошибка в том, что Скала считает, что java выше относится к упаковке test.java, Как решить эту проблему, кроме переименования пакета?

1 ответ

Решение
import _root_.java.io.FileInputStream

Или для упрощения, вы можете использовать псевдоним:

import _root_.java.{io => jio}
import jio.FileInputStream
Другие вопросы по тегам