gpt4 book ai didi

Java 8 流 : convert comma separated string to the list of abstract Enum

转载 作者:太空宇宙 更新时间:2023-11-04 09:31:20 33 4
gpt4 key购买 nike

是否可以使用流将逗号分隔的字符串转换为 java.lang.Enum 列表?

我的原始代码如下,可以正常工作:

List<String> inValuesStr = Arrays.asList(criteria.getValue().toString().split(","));
List<Enum> inValues = new ArrayList<>();
for (String val : inValuesStr){
inValues.add(Enum.valueOf(path.getType(),val));
}

我尝试将其重构为以下代码:

List<Enum> inValues = Arrays.stream(criteria.getValue().toString().split(","))
.map(v -> Enum.valueOf(path.getType(),v))
.collect(Collectors.toList());

看起来非常基本...但是,显示以下编译时错误:

Error:(--, --) java: incompatible types: java.lang.Object cannot be converted to java.util.List<java.lang.Enum>

我不明白错误在哪里。有人有同样的经历吗?感谢您分享解决方案。

最佳答案

这对我来说效果很好:

enum Ascii {
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z;
}

private void test() throws InterruptedException {
List<String> inValuesStr = Arrays.asList("A,B,C,D,E,F,G,H,I,J,K,L,M,N".split(","));
List<Ascii> list = inValuesStr.stream()
.map(s -> Ascii.valueOf(s))
.collect(Collectors.toList());
}

关于Java 8 流 : convert comma separated string to the list of abstract Enum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57058206/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com