我有以下方法:
public static List<A> getValuesExclusion(A exclusion) {
return Arrays.stream(values())
.filter(item -> item != exclusion)
.collect(Collectors.toList());
}
//this function returns enum list of A types that has no A type'exclusion'
现在我想把它做成一个列表作为参数:
public static List<A> getValuesExclusion(A... exclusions){
return Arrays.stream(values())
.filter(???)
.collect(Collectors.toList());
}
我的问题是,我该如何对第二种情况进行过滤?我想检索一个枚举列表,该列表将所有值“exclusions”排除在外作为输入。以下是类 A 的属性:
public enum A implements multilingualA{
A("a"),
B("b"),
C("c"),
D("d");
...
}
最佳答案
如果您想确保所有项目都不包含在exclusions
中,您可以这样做:
public static List<A> getValuesExclusion(AType... exclusions){
return Arrays.stream(values())
.filter(e -> Arrays.stream(exclusions).noneMatch(c -> c == e))
.collect(Collectors.toList());
}
这将创建 exclusions
的 Stream
,然后使用 noneMatch()
确保给定的 AType
是不包含在 Array
关于java - 如何在方法中流式传输 Java List (Varargs) 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56101134/