李晓亮的博客

导航

【摘】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编辑  收藏  举报