test1.scala使用以下代码创建文件:
package test
import java.io.FileInputStream
object Foo
Run Code Online (Sandbox Code Playgroud)
test2.scala使用以下代码创建另一个文件:
package test.java
object Bar
Run Code Online (Sandbox Code Playgroud)
现在编译为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
Run Code Online (Sandbox Code Playgroud)
我认为错误是因为Scala认为java上面指的是包test.java.除了重命名包之外,如何解决这个问题?
import _root_.java.io.FileInputStream
Run Code Online (Sandbox Code Playgroud)
或者为了简化操作,您可以使用别名:
import _root_.java.{io => jio}
import jio.FileInputStream
Run Code Online (Sandbox Code Playgroud)