首页 > 解决方案 > 将 Array[ValueRange] 转换为 util.List[ValueRange]

问题描述

我目前正在尝试通过 scala 项目对谷歌工作表进行批量更新,但是我在将 Array[ValueRange] 转换为 util.List[ValueRange] 时遇到了很多麻烦

这是为批量更新生成正文值信息的代码:

val values = util.Arrays.asList(util.Arrays.asList[AnyRef](
      "Y"
    ))

val data =
      allTasksToBeCompleted.map {
        id =>
          val range = s"$sheetName!G${id.toInt}:G${id.toInt}"
          new ValueRange().setRange(range).setValues(values)
      }

我曾尝试通过 util.Arrays.asList(data) 和 asInstanceOf 进行转换,但在运行时似乎都不起作用。

标签: javalistscalagoogle-sheets-api

解决方案


你试过 JavaConverters 装饰器吗?

import scala.collection.JavaConverters._
val data = Array(1, 2, 3)
val list = data.toList.asJava
data: Array[Int] = Array(1, 2, 3)
list: java.util.List[Int] = [1, 2, 3]

这应该将任何 Array[T] 转换为 java.util.List[T]


推荐阅读