Как импортировать класс, используя полное имя?
Создать файл 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