我有一个枚举类,它有几个常量,我想添加一些静态值FOCUSED
来指示哪个枚举值具有焦点......
我找到了一个方法:
package messagesystem;
/**
*
* @author Frank
*/
public enum MessageType {
ALL,
GENERAL,
SEND,
RECEIVE,
LOG,
EXCEPTION,
DEBUG,
PM;
public final static MessageType FOCUSED = GENERAL;
private final String value;
MessageType() {
String firstLetter = name().substring(0, 1);
String otherLetters = name().substring(1, name().length());
this.value = firstLetter.toUpperCase() + otherLetters.toLowerCase();
}
@Override
public String toString() {
return value;
}
}
但是,现在我想知道:我只是弄乱了枚举类吗?因为我不想FOCUSED
在指定消息类型时选择,但是处理枚举的类MessageType
应该能够确定FOCUSED
值......这样我就不需要在每个类中硬核它。
任何想法表示赞赏。
编辑:它的行为虽然正确。此代码给出了预期的输出:
this.focused = MessageType.FOCUSED.toString();
System.out.println(focused);
输出为“常规”。