Java 8 Lambda:我可以从 IntStream 生成新的对象 ArrayList 吗?
我有一个卡片类
public class Card {
private int value, suit;
public Card(int value, int suit) {
this.value = value;
this.suit = suit;
}
//gets, sets, toString
}
这就是我通常填写卡的数组列表的方式
for(int suit = 1; suit <= 4; ++suit)
for(int value = 1; value <= 13; ++value)
Cards.add(new Card(value, suit));
但我想使用 Lambda 表达式来初始化它
ArrayList<Card> Cards = IntStream.range(1, 4)
.map(value -> IntStream.range(1, 13)
.map(suit -> new Card(value, suit)));
Intellij给我一个错误.map(suit -> new Card(suit, value))
它显示“lambda 表达式中的不兼容返回类型卡”