如何使用Java流API仅将cspId转换为一个整数列表。在下面的示例中,手动添加枚举到列表中通常我将从方法调用处获得。
public class Test {
public static void main(String args[]){
List<Board> numbers=new ArrayList<>();
numbers.add(Board.MY_BOARD);
numbers.add(Board.TEST_BOARD);
List<Integer> list=new ArrayList<Integer>();//Here i want to get List<integer> using jaba stream api.
System.out.println(list);
}
}
董事会人数
enum Board{
MY_BOARD(0, "My Dashboard"),
WEB_BOARD(1, "web Dashboard"),
TEST_BOARD(2, "web Dashboard")
;
private int cspId;
private String name;
Board(int id, String name) {
this.cspId = id;
this.name = name;
}
public int getId() {
return cspId;
}
public String getName() {
return name;
}
}
答案 0 :(得分:8)
将枚举数组转换为流
Stream.of(Enum.values()).map....
您的示例为:
List<Integer> list= Stream.of(Board.values()).map(Board::getId).collect(Collectors.toList());
答案 1 :(得分:6)
然后使用Stream API:
List<Integer> list = numbers.stream().map(Board::getId).collect(toList());