java – 为什么Enum被认为比常量更安全?

在我们的示例中,我们可以选择定义一个枚举类型,它将限制可能的指定值(即改进的类型安全性):

public class OfficePrinter {

public enum PrinterState { Ready,OutOfToner,Offline };
public static final PrinterState STATE = PrinterState.Ready;
}

static final char MY_A_CONST = 'a';

解决方法

想象一下这两个方法签名:

void rawF(char someFlag);

void enumF(MyFlags someFlag);

后者更具限制性,因为只允许MyFlags的有效值.在前一种情况下,任何字符都可以传递 – 即使只使用了“常量”中定义的值.

快乐的编码.

相关文章

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
今天犯了个错:“接口变动,伤筋动骨,除非你确定只有你一个...
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:...
本文目录 线程与多线程 线程的运行与创建 线程的状态 1 线程...