gpt4 book ai didi

java - 我应该使用 Java 枚举来获取特定年份的用户吗?

转载 作者:行者123 更新时间:2023-12-01 16:40:20 24 4
gpt4 key购买 nike

我需要在使用 Seam 2.2 构建的 Web 应用程序中获取特定年份的用户,我想知道使用 java 枚举来构建年份选择列表以在用户所在的前端呈现是否合理会选择其中之一,可能在 jsf h:selectOneMenu 列表元素中。

那么您认为建议使用 java Enum 来构建这种列表吗?

或者我应该使用一个简单的列表来保存选项?

具体要求是建立一个当前和过去 30 年的列表,以便用户选择一个。

[]s

正如评论中提到的,我使用 List 找到了一个简单的解决方案。遵循我为此使用的代码,因为我使用的是 Seam,所以我刚刚构建了一个工厂,它构建了过去 50 年的列表,并且在 xhtml 中我引用了该列表,并在组合列表中显示给最终用户从中选择。

工厂代码:

    @Factory("listaUltimos50Anos")
public List<Integer> listaUltimos50Anos()
{
ArrayList<Integer> ultimos50Anos = new ArrayList<Integer>();
GregorianCalendar hoje = new GregorianCalendar();
hoje.setTime(new java.util.Date());
int anoAtual = hoje.get(Calendar.YEAR);
for(int i = 0; i <= 50; i++)
{
ultimos50Anos.add(anoAtual);
anoAtual -= 1;
}
return ultimos50Anos;
}

比在 xhtml 中我引用这个工厂:

<s:decorate id="dataField" template="../layout/edit.xhtml">
<ui:define name="label">Ano</ui:define>
<h:selectOneMenu id="ano" value="#{carroHome.instance.ano}" required="true">
<s:selectItems var="anos" value="#{listaUltimos50Anos}" label="#{anos}" />
</h:selectOneMenu>
</s:decorate>

[]s

最佳答案

为什么要枚举一组连续的数字?

枚举的目的是将本质上非数字的东西(例如状态或状态代码)转换为数字,以提高效率和可读性(尽管我一直认为可读性参数值得怀疑)。另一个常见且有效的用途是将一组广泛分散的数字(例如 SQL 代码)转换为更简单的数字序列。

关于java - 我应该使用 Java 枚举来获取特定年份的用户吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383727/

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