java - `Import from illegal package` 错误

标签 java scala sbt opencsv

谁知道为什么 我从以下代码中收到错误 Table.scala:8:0: Import from illegal package?

第 8 行指的是 import scala.collection.JavaConversions._

import org.allenai.common.Logging
import scala.collection.parallel.mutable

import java.io.FileReader
import au.com.bytecode.opencsv.CSVReader
import scala.collection.JavaConversions._

/** Created by i-danielk on 6/11/15.
  */
class Table(fileName: String) extends Logging {
  val (titleRow, contentMatrix) = readCSV(fileName)

  // reading from csv: for future
  def readCSV(file: String): (Array[String], Array[Array[String]]) = {
    val reader = new CSVReader(new FileReader(file))

    val fullContents = for {
      row <- reader.readAll
    } yield {
      row
    }
    (fullContents.head, fullContents.tail.toArray)
  }
}

最佳答案

为了完整起见:Scala 编译器永远不会(据我所知)提示来自“非法包”的导入,所以这一定是有人在项目正在使用的 linter 中配置的规则(很可能是 Scalastyle )。

许多人更喜欢更明确的 JavaConverters(及其 asScalaasJava 丰富方法)而不是 JavaConversions 的神奇隐式转换,因此解决方案可能只是切换到该包。

关于java - `Import from illegal package` 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30811007/

相关文章:

java - 如何配置 Secor(来自 pinterest)以按一天中的小时对文件进行分区?

java - 通过方法传递数组(java 命令行参数)

Scala可堆叠特征

scala - Akka Actors 应该做真正的处理任务吗?

scala - 使用无参数方法覆盖字段

javascript - 如何通过scala-js创建JS库

scala - 使用 SBT 子项目和 Scala 玩 2.2.2

java - Play 2 Java sbt 不运行所有测试类

java - 是否可以查看 Tomcat 7 服务器的 Java 控制台?

java - 如何将 sqlite 用户函数 api 与 HikariCP 一起使用?