小编Out*_*ace的帖子

如何将Scala Seq传递给Java varargs

我有一个像这样的现有Java方法:

public static MyJavaClass javaFunc(String name, long... values) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我需要用Scala来调用它:

val idList: Seq[Long] = Seq(1L, 2L, 3L)

MyJavaClass.javaFunc("hello", idList)
Run Code Online (Sandbox Code Playgroud)

但它最终会在idList参数上调用toString方法.我试过以下无济于事:

MyJavaClass.javaFunc("hello", idList:_*)
Run Code Online (Sandbox Code Playgroud)

这会导致编译错误:

no `: _*' annotation allowed here (such annotations are only allowed in arguments to *-parameters)
Run Code Online (Sandbox Code Playgroud)

我怎样才能通过论证?

java scala variadic-functions

11
推荐指数
1
解决办法
2723
查看次数

如何将具有相同第一项的列表项整理到地图上

我知道这可能是Scala中一个非常简单的List操作,但我是一个新手,无法弄明白.我有一个查询返回一个结果集,其中包含一系列值,按公共ID分组.例如:

结果集:

[{ 1, "a", 30 },
{ 1, "b", 20 },
{ 1, "c", 22 },
{ 2, "a", 32 },
{ 2, "c", 10 }]
Run Code Online (Sandbox Code Playgroud)

而我想要做的就是将其放入地图中:

1 -> [{"a", 30}, {"b", 20}, {"c", 22}]
2 -> [{"a", 32}, {"c", 10}]
Run Code Online (Sandbox Code Playgroud)

我认为collect方法可以用于此但无法弄清楚.

scala list

2
推荐指数
1
解决办法
276
查看次数

标签 统计

scala ×2

java ×1

list ×1

variadic-functions ×1