gpt4 book ai didi

Java 枚举与字符串常量

转载 作者:行者123 更新时间:2023-12-02 05:28:42 25 4
gpt4 key购买 nike

我已从使用字符串常量改为使用枚举。很多时候我需要枚举的 String 表示形式(用于日志记录、传递给需要 String 的 API 等)。

对于String常量,您可以只传递字符串值,但是对于枚举,您必须调用toString()。有没有办法在提供枚举变量时“默认”为字符串值?

正如许多发帖者评论的那样,如果您经常需要 String 表示形式,也许不应该使用枚举。

最佳答案

您应该完全采用enum并且不使用String首先是代表权。仅使用toString()生成消息、日志等,但在内部您需要使用 enum 。任意Map , Set等操作应在 enum 上完成类型,保证正确的序列化、单例模式以及 enum 的其他一切类型应该具有。

在您的代码片段中:

 Object o = map.get(Options.OPTION_1);
//This won't work as intended if the Map key is a String

除了编译时错误之外,您确实应该质疑映射键是否应该是 String 类型。首先。从你使用它的方式来看,它看起来应该是 Map<Options, Something> .

关于Java 枚举与字符串常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com