我发现Java 8现在正式发布.似乎我需要Eclipse Luna 4.4才能工作.所以我下载了Luna并安装了它.我还从我的其他Eclipse导入了所有项目,一切都按预期工作.当我想尝试Java 8时,我很快发现我需要先安装它.安装完成后,我设法将JRE 8更改为默认值.
我的问题是:为什么我可以使用新的日期和时间API,但我不能使用新的Lambda表达式?
一些可能有用的信息:
它是否与我没有安装包含Java 8的Eclipse这一事实有关?
我试图按键将一些数据分组,其中值为列表:
样本数据:
A 1
A 2
B 1
B 2
Run Code Online (Sandbox Code Playgroud)
预期结果:
(A,(1,2))
(B,(1,2))
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码执行此操作:
data.groupByKey().mapValues(List(_))
Run Code Online (Sandbox Code Playgroud)
问题是当我尝试执行如下的Map操作时:
groupedData.map((k,v) => (k,v(0)))
Run Code Online (Sandbox Code Playgroud)
它告诉我我的参数数量是错误的.
如果我尝试:
groupedData.map(s => (s(0),s(1)))
Run Code Online (Sandbox Code Playgroud)
它告诉我"(Any,List(Iterable(Any))不带参数"
不知道我做错了什么.我的分组错了吗?什么是更好的方法来做到这一点?
斯卡拉只是请回答.谢谢!!