微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 为什么使用枚举而不是常量?哪个在软件设计和可读性方面更好

我有一个场景,我有播放器类型ARCHER,WARRIOR和巫师.
我应该在Player类中为玩家类型使用什么?
常量最终静态字符串变量或枚举?为什么?
请帮助理由.

解决方法:

假设你使用常量字符串(或int值 – 它们也是如此):

// Constants for player types
public static final String ARCHER = "Archer";
public static final String WARRIOR = "Warrior";

// Constants for genders
public static final String MALE = "Male";
public static final String FEMALE = "Female";

然后你最终不知道你的数据类型 – 导致可能不正确的代码

String playerType = Constants.MALE;

如果你使用枚举,最终会:

// Compile-time error - incompatible types!
PlayerType playerType = Gender.MALE;

同样,枚举提供了一组受限制的值:

String playerType = "Fred"; // Hang on, that's not one we kNow about...

VS

PlayerType playerType = "Fred"; // nope, that doesn't work. Bang!

此外,Java中的枚举可以包含与它们相关的更多信息,并且还可以具有行为.全面好多了.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐