我有这个类构造函数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
应该是什么输入?
注意:我可以使用iterator和Map.Entry object.getKey()和Value
从create
获取字符串update
,req.getParameterMap()
....
答案 0 :(得分:3)
假设您开始使用字符串(例如"update"
),则可以使用Enum.valueOf
。您的Operations
枚举将继承其形式,因此:
Operations op = Operations.valueOf(theString);
...或者使用Enum
中的那个,但如果您没有Operations
的直接编译时访问权限,那么您只需要这样做。我认为你确实有编译时访问权限,所以使用上面的内容。但为了完整性:
Object op = Enum.valueOf(Class.forName("Operations"), theString);