gpt4 book ai didi

java - 枚举不能用于固定常量吗?

转载 作者:行者123 更新时间:2023-12-01 07:32:32 25 4
gpt4 key购买 nike

我使用以下来定义固定的常量集

private enum MENU_OPTIONS {
MENU_SEND_SMS,
MENU_COPY_SMS,
MENU_ADD_SMS,
MENU_POST_FACEBOOK,
MENU_TWEET
}

我有一个接受 INT 的方法

menu.add (int, int, int, String);

所以当我向上述方法提供“MENU_OPTIONS.MENU_SEND_SMS”时,它报告错误

menu.add(0, MENU_SEND_SMS, 0, ); // error: The method add(int, int, int, CharSequence) in the type Menu is not applicable for the arguments (int, FavoriteSMSFragment.MENU_OPTIONS, int, String)

那么如果我想使用一组固定的常量,我应该如何定义 ENUM?

最佳答案

枚举是一个类。 MENU_OPTIONS.MENU_SEND_SMS 的类型为 MENU_OPTIONS(由于它是代表单个菜单选项的类,因此应命名为 MenuOption)。

因此,您的 add() 方法应采用 MenuOption 类型的参数,而不是 int 类型的参数。这更安全,因为它记录了该方法所期望的内容(int 比 MenuOption 更模糊),并且因为您无法传递除枚举中定义的值之外的任何值(而任何无效的 int 值都可能是传递给以 int 作为参数的方法)。

关于java - 枚举不能用于固定常量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16122041/

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