gpt4 book ai didi

java - Stream.of VS Arrays.stream 从值中获取枚举

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:01 26 4
gpt4 key购买 nike

在 Java 8 中,我发现了一种从值中获取枚举的常用方法,它使用 Arrays.stream 对所有枚举值进行筛选,但最近,我遇到了另一种方法做吧,用Stream.of,彼此之间有什么更好的方法,为什么?还有其他更好的方法吗?

例子:

public enum Foo {

BAR_1("Bar 1"),
BAR_2("Bar 2");

private String friendlyValue;

Foo(String friendlyValue){
this.friendlyValue = friendlyValue;
}

public String getFriendlyValue() {
return friendlyValue;
}

public static Foo fromFriendlyValue1(String friendlyValue){
return Stream.of(Foo.values()).filter(r -> r.getFriendlyValue().equals(friendlyValue)).findFirst().get();
}

public static Foo fromFriendlyValue2(String friendlyValue) {
return Arrays.stream(Foo.values()).filter(r -> r.getFriendlyValue().equals(friendlyValue)).findFirst().get();
}
}

最佳答案

Stream.of 实际上使用的是 Arrays.stream。

public static<T> Stream<T> of(T... values) {
return Arrays.stream(values);
}

所以你可以直接使用Arrays.stream。

关于java - Stream.of VS Arrays.stream 从值中获取枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32337555/

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