gpt4 book ai didi

Java 字符串转枚举

转载 作者:行者123 更新时间:2023-12-02 00:42:10 24 4
gpt4 key购买 nike

我有这个类构造函数AppData(Map params,Operations操作)
其中操作

public enum Operations 
{
create,update,delete,view,compare
}

如何使用参数构造函数实例化 AppData?

对于 map 参数,我从 servlet 获取它很好,(req.getParameterMap())
但对我来说主要的问题是知道操作类型,它也来自映射参数,所以为了做到这一点 AppData data=new AppData(req.getParameterMap(),op); 应该做什么我分配给 op 或者 op 类型应该是什么?

注意:我可以使用迭代器和 Map.Entry 从 req.getParameterMap() 获取字符串 createupdate ... object.getKey() 和 Value

最佳答案

假设您以字符串开头(例如,"update"),则可以使用 Enum.valueOf 。您的 Operations 枚举将继承其形式,因此:

Operations op = Operations.valueOf(theString);

...或者使用 Enum 中的一个,尽管只有在您无法直接在编译时访问 Operations 时才需要执行此操作>。我认为您确实具有编译时访问权限,因此请使用上面的内容。但为了完整性:

Object op = Enum.valueOf(Class.forName("Operations"), theString);

关于Java 字符串转枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6044909/

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