【摘】Enum类的toString()方法的几种不同参数
本文摘自CSDN论坛的帖子
Q:问题
Enum类的toString()方法可以跟几种不同的参数,如:
Enum.toString("D");
Enum.toString("N");
Enum.toString("G");
Enum.toString("F");
这里的参数"N"、"G"、"F"是什么意思?
A:回答
“G”或“g”
如果 value 等于某个已命名的枚举常数,则返回该常数的名称;否则返回 value 的等效十进
制数。
例如,假定唯一的枚举常数命名为“Red”,其值为 1。如果将 value 指定为 1,则此格式返
回“Red”。然而,如果将 value 指定为 2,则此格式返回“2”。
- 或 -
如果将 FlagsAttribute 自定义属性应用于枚举,则 value 将被视为位域,该位域包含一个
或多个由一位或多位组成的标志。
如果 value 等于已命名的枚举常数的组合,则返回用分隔符分隔的这些常数名称的列表。将在
value 中搜索标志,从具有最大值的标志到具有最小值的标志进行搜索。对于与 value 中的位域
相对应的每个标志,常数的名称连接到用分隔符分隔的列表。则将不再考虑该标记的值,而继续搜索下一
个标志。
如果 value 不等于已命名的枚举常数的组合,则返回 value 的等效十进制数。
“X”或“x”
以十六进制形式表示 value(不带前导“0x”)。
“D”或“d”
以十进制形式表示 value。
“F”或“f”
对于“G”或“g”执行的行为是相同的,只是在 Enum 声明中不需要 FlagsAttribute。
posted on 2008-09-16 22:51 LeeXiaoLiang 阅读(567) 评论(0) 编辑 收藏 举报