相关疑难解决方法(0)

为什么lambda强迫我使用单个元素数组而不是最终对象?

我有以下课程:

public class Item{
   private String name;
   //setter getter
}
Run Code Online (Sandbox Code Playgroud)

和物品的集合.我想得到Collection中最后一项的名字.要做到这一点,我只需迭代所有集合并使用最后.问题是我不知道为什么它迫使我使用一个元素String数组.

为什么我必须使用:

String[] lastName = {""};
items.forEach(item -> lastName[0] = item.getName());
System.out.println(lastname[0]);
Run Code Online (Sandbox Code Playgroud)

代替:

final String lastName;
items.forEach(item -> lastName = item.getName());
System.out.println(lastname);
Run Code Online (Sandbox Code Playgroud)

java lambda java-8

7
推荐指数
2
解决办法
3852
查看次数

标签 统计

java ×1

java-8 ×1

lambda ×1