我有以下枚举,但我想迭代第二个参数而不必迭代这个类别之外的枚举成员,所以如果我有一个message:"消息"和类别"Category"我可以指定类别作为参数在方法中,isMessageInGroup无需迭代那些与另一类别,如MESSAGE_3:"另一类别"
有没有一种巧妙的方法来节省一些迭代时间?可能甚至没有大量的价值,这将显着影响性能,但我想知道是否可能.搜索了一下但很难找到这个具体问题.
下面的枚举确实按类别对消息收费但我想知道我是否可以避免迭代那些想要的类别之外的消息
public enum MessagesEnum {
MESSAGE_1("Message", "Category"),
MESSAGE_2("Another Message", "Category"),
MESSAGE_3("Odd Message", "Another Category");
private final String message;
private final String category;
SabreErrorMessages(String message, String errorCategory) {
this.message = message;
this.category = category;
}
public String getMessage() {
return message;
}
public String getCategory() {
return category;
}
public static boolean isMessageInGroup(String message){
for(MessagesEnum message : MessagesEnum.values()) {
if(message.contains(message.getMessage()) && message.getCategory().equals("Category")) {
return true;
}
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)