Java8 : Create list of object using enum value

标签 java list java-8 java-stream

我有一个这样的枚举列表:

public enum Fruit {
   Apple,
   Mango,
   Banana,
   kiwi
}

我有这样的课

public class FruitShop {
    private String name;

    public FruitShop(String name) {
       this.name = name
}

我想创建一个 FruitShop 类的对象列表,将每个枚举作为参数传递

List<FruitShop> shoplists = new new ArrayList<>()
shoplists.add(Fruit.Apple.name())
shoplists.add(Fruit.Mango.name())
shoplists.add(Fruit.Banana.name())
shoplists.add(Fruit.kiwi.name())

如何使用 java8 流实现此目的?

最佳答案

您可以像这样将 EnumSetstream 一起使用:

List<FruitShop> shoplists = EnumSet.allOf(Fruit.class).stream()
        .map(f -> new FruitShop(f.name()))
        .collect(Collectors.toList());

关于Java8 : Create list of object using enum value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62665757/

相关文章:

java - 使用反射从抽象基类访问构造函数

list - flutter : Unsupported operation: Cannot add to an unmodifiable list

java - Java 什么时候需要显式类型参数?

java - 如何避免 Spring 缓存中区分大小写的键?

java - 无法读取 vCard 数据 : Exported from ez vcard

java - 在应用程序之外记录击键

python - 如何从 Python 列表中提取列?

python - 在 Python 中组合两种不同的可迭代类型

java - Linux 从 Java 控制台应用程序中杀死 Java 进程

java - 将 int 数组分解为流