结果集到Scala HashMap

问题描述 投票:0回答:1

我正在尝试使用以下代码从 jdbc 调用中返回的对构建哈希图

val query = "select x,y from tablename"
val rs = stmt.executeQuery(query)
var lookup = new HashMap[String,String]()
while(rs.next()) {
  lookup = lookup + (rs.getString(1)-> rs.getString(2))
}

并获得强制转换异常。

scala.collection.immutable.HashMap 无法转换为 scala.runtime.Nothing$

如何解决这个问题以及发生了什么事?有没有更好、更像 Scala 的方法来处理这个问题,比如使用构建器?感谢您的帮助。

scala casting hashmap resultset
1个回答
7
投票

您正在用 scala 编写 Java 代码。不。 要么切换到 java,要么花一些时间学习真正的 scala。你不会后悔的。

 Iterator
  .continually(rs.next)
  .takeWhile(identity)
  .map { _ => rs.getString(1) -> rs.getString(2) }
  .toMap
© www.soinside.com 2019 - 2024. All rights reserved.