我有这个类的构造函数AppData(Map params, Operations operation)
操作在哪里
public enum Operations
{
create,update,delete,view,compare
}
如何使用参数构造函数实例化AppData?
对于map参数,我可以从servlet获得它的详细信息,(req.getParameterMap())
但是对我来说主要的问题是知道操作类型,它也来自map参数,所以要执行此
AppData data=new AppData(req.getParameterMap(),op);
我应该为op
分配什么,或者op
类型是什么?注意:我可以使用迭代器和Map.Entry object.getKey()和Value从
create
中获取String update
,req.getParameterMap()
... 最佳答案
假设您以字符串开头(例如"update"
),则可以使用Enum.valueOf
。您的Operations
枚举将继承该形式,因此:
Operations op = Operations.valueOf(theString);
...或使用
Enum
中的一个,尽管实际上您仅在没有直接,编译时访问Operations
的权限时才需要这样做。我认为您确实具有编译时访问权限,因此请使用上面的代码。但是为了完整性:Object op = Enum.valueOf(Class.forName("Operations"), theString);
关于java - 枚举的Java字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6044909/