我有这个类的构造函数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 updatereq.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/

10-17 00:37