gpt4 book ai didi

java - 如何在JSP文件中按自定义顺序显示EnumSet?

转载 作者:行者123 更新时间:2023-12-02 02:55:39 25 4
gpt4 key购买 nike

我有一个 java.util.EnumSet ,其中包含许多显示为下拉列表的元素 (JSP)。现在,默认情况下它们按 ID 排序:

1 Toyota
2 Honda
3 Audi
4 BMW

我想要实现的是按字母顺序排列的列表:

3 Audi
4 BMW
2 Honda
1 Toyota

我可以在不更改 ID 的情况下更改枚举在下拉列表中的显示顺序吗?

最佳答案

您可以从 EnumSet 创建一个有序的Collection,然后在 JSP 中使用它。但是,您将无法获得 EnumSet 的好处,在这种情况下,首先就不需要使用它。

检查以下示例以创建所需的有序列表

import java.util.Arrays;
import java.util.EnumSet;
import java.util.List;

public class TestEnumSet {
public static void main(String[] args) {
System.out.println("Started\n");

EnumSet<Cars> set = EnumSet.of(Cars.Toyata, Cars.Audi, Cars.Honda, Cars.BMW);

List<Cars> list = Arrays.asList(set.toArray(new Cars[]{}));
list.sort((a, b) -> a.toString().compareTo(b.toString()));

list.stream().forEach(a -> System.out.println(a.id + " : " + a.toString()));

System.out.println("\nFnished");
}

public static enum Cars {
Toyata(1), Audi(2), Honda(3), BMW(4);

int id;
Cars(int id ) {
this.id = id;
}
}
}

输出

Started

2 : Audi
4 : BMW
3 : Honda
1 : Toyata

Fnished

关于java - 如何在JSP文件中按自定义顺序显示EnumSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43141097/

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