enum 用法:
用例1:
public enum Enum1 { // 雅虎头条新闻 RSS 种子 YAHOO_TOP_STORIES("http://rss.news.yahoo.com/rss/topstories"), //CBS 头条新闻 RSS 种子 CBS_TOP_STORIES("http://feeds.cbsnews.com/CBSNewsMain?format=xml"), // 洛杉矶时报头条新闻 RSS 种子 LATIMES_TOP_STORIES("http://feeds.latimes.com/latimes/news?format=xml"); // 枚举对象的 RSS 地址的属性 private String rss_url; // 枚举对象构造函数 private NewsRSSFeedEnum(String rss) { this.rss_url = rss; } // 枚举对象获取 RSS 地址的方法 public String getRssURL() { return this.rss_url; } }
用例2:
public enum Enum2 { // 雅虎头条新闻 RSS 种子 YAHOO_TOP_STORIES, //CBS 头条新闻 RSS 种子 CBS_TOP_STORIES, // 洛杉矶时报头条新闻 RSS 种子 LATIMES_TOP_STORIES; public String }
不过在使用 Enum 时候有几个地方需要注意:
enum 类型不支持 public 和 protected 修饰符的构造方法,因此构造函数一定要是 private 或 friendly 的。也正因为如此,所以枚举对象是无法在程序中通过直接调用其构造方法来初始化的。
定义 enum 类型时候,如果是简单类型,那么最后一个枚举值后不用跟任何一个符号;但如果有定制方法,那么最后一个枚举值与后面代码要用分号';'隔开,不能用逗号或空格。
由于 enum 类型的值实际上是通过运行期构造出对象来表示的,所以在 cluster 环境下,每个虚拟机都会构造出一个同义的枚举对象。尽可能使用switch来判断