我想在Enum值中定义几个String常量,并在相同的枚举值中使用上下文访问这些常量。对于例如 以下是我的枚举定义:
public enum EventType {
QUERY_UPDATE {
public String QUERY_LIST = "QUERY_LIST"; //this variable is not accessible in client code.
},
SINGLE_RESULT_HANDLE {
public static final String SINGLE_QUERY_OBJECT = "SINGLE_QUERY_OBJECT"; //this variable is not accessible in client code.
public static final String SINGLE_QUERY_RESULT = "SINGLE_QUERY_RESULT";
},
COLLATED_RESULT_HANDLE {
enum Keys{ //compiler error : The member enum Keys can only be defined inside a top-level class or interface or in a static context.
COLLATED_RESULT_LIST,
}
};
}
在我的代码中,我想使用这些枚举值:
//客户端代码。
GenericEvent resultEvent = new GenericEvent(EventType.QUERY_UPDATE);
resultEvent.addContextProperty(EventType.QUERY_UPDATE.QUERY_LIST, "abcd"); //LINE 2
现在在上面的LINE 2(第一个参数)中,我想指定仅属于EventType.QUERY_UPDATE的String Constant。但似乎没有办法完成这项工作。请建议如何解决此问题。