我正尝试使用Java 8和流将所有枚举值检索并放入列表中,但尝试了下面两种方法都没有返回值。
我做错了什么?
代码:
public class Main {
public static void main(String[] args) {
List<String> fruits1 = Stream.of(FruitsEnum.values())
.map(FruitsEnum::name)
.collect(Collectors.toList());
List<String> fruits2 = Stream.of(FruitsEnum.values().toString())
.collect(Collectors.toList());
// attempt 1
System.out.println(fruits1);
// attempt 2
System.out.println(fruits2);
}
enum FruitsEnum {
APPLE("APPL"),
BANANA("BNN");
private String fruit;
FruitsEnum(String fruit) {this.fruit = fruit;}
String getValue() { return fruit; }
}
}
输出:
[APPLE, BANANA]
[[LMain$FruitsEnum;@41629346]
期望的:
["AAPL", "BNN"]
fruits1
)中了。 - Simply_meFruitsEnum.values().toString()
做什么?实际上它会将值的数组转换为字符串,而不是像你期望的那样转换为字符串的数组。 - ETO