{"id":2116,"date":"2017-08-10T10:56:06","date_gmt":"2017-08-10T02:56:06","guid":{"rendered":"https:\/\/ai.zhousir.top\/?p=2116"},"modified":"2018-02-28T17:19:12","modified_gmt":"2018-02-28T09:19:12","slug":"java%e6%9e%9a%e4%b8%be%e7%b1%bb%e5%9e%8b","status":"publish","type":"post","link":"https:\/\/ai.zhousir.top\/?p=2116","title":{"rendered":"Java\u679a\u4e3e\u7c7b\u578b"},"content":{"rendered":"<p class=\"p1\"><span class=\"s1\">java\u4eceJDK1.5\u5f00\u59cb\u652f\u6301\u679a\u4e3e\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0cJava\u4e00\u5f00\u59cb\u662f\u4e0d\u652f\u6301\u679a\u4e3e\u7684\uff0c\u5c31\u50cf\u6cdb\u578b\u4e00\u6837\uff0c\u90fd\u662fJDK1.5\u624d\u52a0\u5165\u7684\u65b0\u7279\u6027\u3002\u901a\u5e38\u4e00\u4e2a\u7279\u6027\u5982\u679c\u5728\u4e00\u5f00\u59cb\u6ca1\u6709\u63d0\u4f9b\uff0c\u5728\u8bed\u8a00\u53d1\u5c55\u540e\u671f\u624d\u6dfb\u52a0\uff0c\u4f1a\u9047\u5230\u4e00\u4e2a\u95ee\u9898\uff0c\u5c31\u662f\u5411\u540e\u517c\u5bb9\u6027\u7684\u95ee\u9898\u3002\u50cfJava\u57281.5\u4e2d\u5f15\u5165\u7684\u5f88\u591a\u7279\u6027\uff0c\u4e3a\u4e86\u5411\u540e\u517c\u5bb9\uff0c\u7f16\u8bd1\u5668\u4f1a\u5e2e\u6211\u4eec\u5199\u7684\u6e90\u4ee3\u7801\u505a\u5f88\u591a\u4e8b\u60c5\uff0c\u6bd4\u5982\u6cdb\u578b\u4e3a\u4ec0\u4e48\u4f1a\u64e6\u9664\u7c7b\u578b\uff0c\u4e3a\u4ec0\u4e48\u4f1a\u751f\u6210\u6865\u63a5\u65b9\u6cd5\uff0cforeach\u8fed\u4ee3\uff0c\u81ea\u52a8\u88c5\u7bb1\/\u62c6\u7bb1\u7b49\uff0c\u8fd9\u6709\u4e2a\u672f\u8bed\u53eb\u201c\u8bed\u6cd5\u7cd6\u201d\uff0c\u800c\u7f16\u8bd1\u5668\u7684\u7279\u6b8a\u5904\u7406\u53eb\u201c\u89e3\u8bed\u6cd5\u7cd6\u201d\u3002\u90a3\u4e48\u50cf\u679a\u4e3e\u4e5f\u662f\u5728JDK1.5\u4e2d\u624d\u5f15\u5165\u7684\uff0c\u53c8\u662f\u600e\u4e48\u5b9e\u73b0\u7684\u5462\uff1f<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">Java\u57281.5\u4e2d\u6dfb\u52a0\u4e86java.lang.Enum\u62bd\u8c61\u7c7b\uff0c\u5b83\u662f\u6240\u6709\u679a\u4e3e\u7c7b\u578b\u57fa\u7c7b\u3002\u63d0\u4f9b\u4e86\u4e00\u4e9b\u57fa\u7840\u5c5e\u6027\u548c\u57fa\u7840\u65b9\u6cd5\u3002\u540c\u65f6\uff0c\u5bf9\u628a\u679a\u4e3e\u7528\u4f5cSet\u548cMap\u4e5f\u63d0\u4f9b\u4e86\u652f\u6301\uff0c\u5373java.util.EnumSet\u548cjava.util.EnumMap\u3002<\/span><\/p>\n<h2>\u4e00\u3001\u679a\u4e3e\u7c7b\u578b<\/h2>\n<p>\u679a\u4e3e\u7c7b\u578b\u5728java\u8bed\u8a00\u4e2d\u662f\u4e00\u79cd\u57fa\u672c\u6570\u636e\u7c7b\u578b\u800c\u4e0d\u662f\u6784\u9020\u6570\u636e\u7c7b\u578b<br \/>\n\u5728\u6211\u4eec\u65e5\u5e38\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u7ecf\u5e38\u5b9a\u4e49\u4f7f\u7528\u5e38\u91cf\uff1b\u5728Effective Java\u5efa\u8bae\u7528\u679a\u4e3e\u6765\u66ff\u6362\u5e38\u91cf\u7684\u4f7f\u7528\uff0c\u63d0\u9ad8\u6211\u4eec\u4ee3\u7801\u7684\u8d28\u91cf<\/p>\n<p>\u521b\u5efa\u679a\u4e3e\u7c7b\u578b\u8981\u4f7f\u7528 enum \u5173\u952e\u5b57\uff0c\u9690\u542b\u4e86\u6240\u521b\u5efa\u7684\u7c7b\u578b\u90fd\u662f java.lang.Enum \u7c7b\u7684\u5b50\u7c7b\uff08java.lang.Enum \u662f\u4e00\u4e2a\u62bd\u8c61\u7c7b\uff09\u3002<br \/>\n\u679a\u4e3e\u7c7b\u578b\u7b26\u5408\u901a\u7528\u6a21\u5f0f Class Enum&gt;\uff0c\u800c E \u8868\u793a\u679a\u4e3e\u7c7b\u578b\u7684\u540d\u79f0\u3002<br \/>\n\u679a\u4e3e\u7c7b\u578b\u7684\u6bcf\u4e00\u4e2a\u503c\u90fd\u5c06\u6620\u5c04\u5230 protected Enum(String name, int ordinal) \u6784\u9020\u51fd\u6570\u4e2d\uff0c\u5728\u8fd9\u91cc\uff0c\u6bcf\u4e2a\u503c\u7684\u540d\u79f0\u90fd\u88ab\u8f6c\u6362\u6210\u4e00\u4e2a\u5b57\u7b26\u4e32\uff0c\u5e76\u4e14\u5e8f\u6570\u8bbe\u7f6e\u8868\u793a\u4e86\u6b64\u8bbe\u7f6e\u88ab\u521b\u5efa\u7684\u987a\u5e8f\u3002<br \/>\n\u5728\u9879\u76ee\u5f00\u53d1\u4e2d\uff0c\u63a8\u8350\u4f7f\u7528\u679a\u4e3e\u5e38\u91cf\u4ee3\u66ff\u63a5\u53e3\u5e38\u91cf\u6216\u7c7b\u5e38\u91cf\u3002<\/p>\n<p>[java]public enum Week {<br \/>\n\u00a0\u00a0\u00a0 MON, TUE, WED, THU, FRI, SAT, SUN;<br \/>\n}[\/java]<\/p>\n<p>\u8fd9\u6bb5\u4ee3\u7801\u5b9e\u9645\u4e0a\u8c03\u7528\u4e867\u6b21 Enum(String name, int ordinal)\uff1a<br \/>\nnew Enum(&#8220;MON&#8221;,0);<br \/>\nnew Enum(&#8220;TUE&#8221;,1);<br \/>\nnew Enum(&#8220;WED&#8221;,2);<br \/>\n&#8230;&#8230;.<\/p>\n<h3>\u7528\u6cd5\u4e00\uff1a\u5e38\u91cf<\/h3>\n<p>\u5728JDK1.5 \u4e4b\u524d\uff0c\u6211\u4eec\u5b9a\u4e49\u5e38\u91cf\u90fd\u662f\uff1a public static final&#8230;. \u3002\u73b0\u5728\u597d\u4e86\uff0c\u6709\u4e86\u679a\u4e3e\uff0c\u53ef\u4ee5\u628a\u76f8\u5173\u7684\u5e38\u91cf\u5206\u7ec4\u5230\u4e00\u4e2a\u679a\u4e3e\u7c7b\u578b\u91cc\uff0c\u800c\u4e14\u679a\u4e3e\u63d0\u4f9b\u4e86\u6bd4\u5e38\u91cf\u66f4\u591a\u7684\u65b9\u6cd5\u3002<\/p>\n<p>[java]<br \/>\npublic enum Color { \u00a0<br \/>\n\u00a0 RED, GREEN, BLANK, YELLOW \u00a0<br \/>\n} [\/java]<\/p>\n<p>[java]Color color = Color.Red;   \/\/color -&gt; Red;[\/java]<\/p>\n<h3>\u7528\u6cd5\u4e8c\uff1aswitch<\/h3>\n<p>JDK1.6\u4e4b\u524d\u7684switch\u8bed\u53e5\u53ea\u652f\u6301int,char,enum\u7c7b\u578b\uff0c\u4f7f\u7528\u679a\u4e3e\uff0c\u80fd\u8ba9\u6211\u4eec\u7684\u4ee3\u7801\u53ef\u8bfb\u6027\u66f4\u5f3a\u3002<\/p>\n<p>[java]   enum Signal {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 GREEN, YELLOW, RED<br \/>\n\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0 public class TrafficLight {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Signal color = Signal.RED;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public void change() {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 switch (color) {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 case RED:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 color = Signal.GREEN;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 break;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 case YELLOW:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 color = Signal.RED;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 break;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 case GREEN:<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 color = Signal.YELLOW;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 break;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<br \/>\n\u00a0\u00a0\u00a0 }<br \/>\n[\/java]<\/p>\n<h3>\u7528\u6cd5\u4e09\uff1a\u5411\u679a\u4e3e\u4e2d\u6dfb\u52a0\u65b0\u65b9\u6cd5<\/h3>\n<p>\u5982\u679c\u6253\u7b97\u81ea\u5b9a\u4e49\u81ea\u5df1\u7684\u65b9\u6cd5\uff0c\u90a3\u4e48\u5fc5\u987b\u5728enum\u5b9e\u4f8b\u5e8f\u5217\u7684\u6700\u540e\u6dfb\u52a0\u4e00\u4e2a\u5206\u53f7\u3002\u800c\u4e14 Java \u8981\u6c42\u5fc5\u987b\u5148\u5b9a\u4e49 enum \u5b9e\u4f8b\u3002<\/p>\n<p>[java]public enum Color {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 RED(&quot;\u7ea2\u8272&quot;, 1), GREEN(&quot;\u7eff\u8272&quot;, 2), BLANK(&quot;\u767d\u8272&quot;, 3), YELLO(&quot;\u9ec4\u8272&quot;, 4);<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u6210\u5458\u53d8\u91cf<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 private String name;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 private int index;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u6784\u9020\u65b9\u6cd5<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 private Color(String name, int index) {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 this.name = name;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 this.index = index;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u666e\u901a\u65b9\u6cd5<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public static String getName(int index) {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 for (Color c : Color.values()) {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if (c.getIndex() == index) {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return c.name;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return null;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ get set \u65b9\u6cd5<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public String getName() {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return name;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public void setName(String name) {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 this.name = name;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public int getIndex() {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return index;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public void setIndex(int index) {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 this.index = index;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<br \/>\n\u00a0\u00a0\u00a0 }<br \/>\n[\/java]<\/p>\n<h3>\u7528\u6cd5\u56db\uff1a\u8986\u76d6\u679a\u4e3e\u7684\u65b9\u6cd5<\/h3>\n<p>\u4e0b\u9762\u7ed9\u51fa\u4e00\u4e2atoString()\u65b9\u6cd5\u8986\u76d6\u7684\u4f8b\u5b50\u3002<\/p>\n<p>[java]public class Test {<br \/>\n\u00a0\u00a0\u00a0 public enum Color {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 RED(&quot;\u7ea2\u8272&quot;, 1), GREEN(&quot;\u7eff\u8272&quot;, 2), BLANK(&quot;\u767d\u8272&quot;, 3), YELLO(&quot;\u9ec4\u8272&quot;, 4);<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u6210\u5458\u53d8\u91cf<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 private String name;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 private int index;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u6784\u9020\u65b9\u6cd5<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 private Color(String name, int index) {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 this.name = name;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 this.index = index;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u8986\u76d6\u65b9\u6cd5<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 @Override<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public String toString() {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return this.index + &quot;_&quot; + this.name;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<br \/>\n\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0 public static void main(String[] args) {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(Color.RED.toString());<br \/>\n\u00a0\u00a0\u00a0 }<br \/>\n}[\/java]<\/p>\n<h3>\u7528\u6cd5\u4e94\uff1a\u5b9e\u73b0\u63a5\u53e3<\/h3>\n<p>\u6240\u6709\u7684\u679a\u4e3e\u90fd\u7ee7\u627f\u81eajava.lang.Enum\u7c7b\u3002\u7531\u4e8eJava \u4e0d\u652f\u6301\u591a\u7ee7\u627f\uff0c\u6240\u4ee5\u679a\u4e3e\u5bf9\u8c61\u4e0d\u80fd\u518d\u7ee7\u627f\u5176\u4ed6\u7c7b\u3002<\/p>\n<p>[java]public interface Behaviour {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 void print();<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 String getInfo();<br \/>\n\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0 public enum Color implements Behaviour {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 RED(&quot;\u7ea2\u8272&quot;, 1), GREEN(&quot;\u7eff\u8272&quot;, 2), BLANK(&quot;\u767d\u8272&quot;, 3), YELLO(&quot;\u9ec4\u8272&quot;, 4);<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u6210\u5458\u53d8\u91cf<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 private String name;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 private int index;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u6784\u9020\u65b9\u6cd5<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 private Color(String name, int index) {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 this.name = name;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 this.index = index;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u63a5\u53e3\u65b9\u6cd5<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 @Override<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public String getInfo() {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return this.name;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u63a5\u53e3\u65b9\u6cd5<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 @Override<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public void print() {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(this.index + &quot;:&quot; + this.name);<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<br \/>\n\u00a0\u00a0\u00a0 }[\/java]<\/p>\n<h3>\u7528\u6cd5\u516d\uff1a\u4f7f\u7528\u63a5\u53e3\u7ec4\u7ec7\u679a\u4e3e<\/h3>\n<p>[java]public interface Food {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 enum Coffee implements Food {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 enum Dessert implements Food {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 FRUIT, CAKE, GELATO<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<br \/>\n\u00a0\u00a0\u00a0 }[\/java]<\/p>\n<h3>\u7528\u6cd5\u4e03\uff1a\u5173\u4e8e\u679a\u4e3e\u96c6\u5408\u7684\u4f7f\u7528<\/h3>\n<p>java.util.EnumSet\u548cjava.util.EnumMap\u662f\u4e24\u4e2a\u679a\u4e3e\u96c6\u5408\u3002EnumSet\u4fdd\u8bc1\u96c6\u5408\u4e2d\u7684\u5143\u7d20\u4e0d\u91cd\u590d;EnumMap\u4e2d\u7684 key\u662fenum\u7c7b\u578b\uff0c\u800cvalue\u5219\u53ef\u4ee5\u662f\u4efb\u610f\u7c7b\u578b\u3002<\/p>\n<p>[java]\u00a0 \/**<br \/>\n\u00a0\u00a0\u00a0\u00a0 *<br \/>\n\u00a0\u00a0\u00a0\u00a0 * \u6f14\u793a\u679a\u4e3e\u7c7b\u578b\u7684\u904d\u5386<br \/>\n\u00a0\u00a0\u00a0\u00a0 *\/<\/p>\n<p>\u00a0\u00a0\u00a0 private static void testTraversalEnum() {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Light[] allLight = Light.values();<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 for (Light aLight : allLight) {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(&quot;\u5f53\u524d\u706fname\uff1a&quot; + aLight.name());<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(&quot;\u5f53\u524d\u706fordinal\uff1a&quot; + aLight.ordinal());<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(&quot;\u5f53\u524d\u706f\uff1a&quot; + aLight);<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0 \/**<br \/>\n\u00a0\u00a0\u00a0\u00a0 *<br \/>\n\u00a0\u00a0\u00a0\u00a0 * \u6f14\u793aEnumMap\u7684\u4f7f\u7528\uff0cEnumMap\u8ddfHashMap\u7684\u4f7f\u7528\u5dee\u4e0d\u591a\uff0c\u53ea\u4e0d\u8fc7key\u8981\u662f\u679a\u4e3e\u7c7b\u578b<br \/>\n\u00a0\u00a0\u00a0\u00a0 *\/<\/p>\n<p>\u00a0\u00a0\u00a0 private static void testEnumMap() {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ 1.\u6f14\u793a\u5b9a\u4e49EnumMap\u5bf9\u8c61\uff0cEnumMap\u5bf9\u8c61\u7684\u6784\u9020\u51fd\u6570\u9700\u8981\u53c2\u6570\u4f20\u5165,\u9ed8\u8ba4\u662fkey\u7684\u7c7b\u7684\u7c7b\u578b<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 EnumMap&lt;Light, String&gt; currEnumMap = new EnumMap&lt;Light, String&gt;(<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Light.class);<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 currEnumMap.put(Light.RED, &quot;\u7ea2\u706f&quot;);<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 currEnumMap.put(Light.GREEN, &quot;\u7eff\u706f&quot;);<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 currEnumMap.put(Light.YELLOW, &quot;\u9ec4\u706f&quot;);<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ 2.\u904d\u5386\u5bf9\u8c61<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 for (Light aLight : Light.values()) {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(&quot;[key=&quot; + aLight.name() + &quot;,value=&quot;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 + currEnumMap.get(aLight) + &quot;]&quot;);<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0 \/**<br \/>\n\u00a0\u00a0\u00a0\u00a0 *<br \/>\n\u00a0\u00a0\u00a0\u00a0 * \u6f14\u793aEnumSet\u5982\u4f55\u4f7f\u7528\uff0cEnumSet\u662f\u4e00\u4e2a\u62bd\u8c61\u7c7b\uff0c\u83b7\u53d6\u4e00\u4e2a\u7c7b\u578b\u7684\u679a\u4e3e\u7c7b\u578b\u5185\u5bb9&lt;BR\/&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0 *<br \/>\n\u00a0\u00a0\u00a0\u00a0 * \u53ef\u4ee5\u4f7f\u7528allOf\u65b9\u6cd5<br \/>\n\u00a0\u00a0\u00a0\u00a0 *\/<\/p>\n<p>\u00a0\u00a0\u00a0 private static void testEnumSet() {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 EnumSet&lt;Light&gt; currEnumSet = EnumSet.allOf(Light.class);<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 for (Light aLightSetElement : currEnumSet) {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(&quot;\u5f53\u524dEnumSet\u4e2d\u6570\u636e\u4e3a\uff1a&quot; + aLightSetElement);<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/p>\n<p>\u00a0\u00a0\u00a0 }<\/p>\n<p>}<br \/>\n[\/java]<\/p>\n<p>\u66f4\u8be6\u7ec6\u539f\u7406\u53c2\u89c1:<\/p>\n<p>1.<a href=\"http:\/\/blog.csdn.net\/mhmyqn\/article\/details\/48087247\">java\u679a\u4e3e\u7c7b\u578b\u7684\u5b9e\u73b0\u539f\u7406<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>java\u4eceJDK1.5\u5f00\u59cb\u652f\u6301\u679a\u4e3e\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0cJava\u4e00\u5f00\u59cb\u662f\u4e0d\u652f\u6301\u679a\u4e3e\u7684\uff0c\u5c31\u50cf\u6cdb\u578b\u4e00\u6837\uff0c\u90fd\u662fJDK1.5\u624d\u52a0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[15],"tags":[],"_links":{"self":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/2116"}],"collection":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2116"}],"version-history":[{"count":7,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/2116\/revisions"}],"predecessor-version":[{"id":2269,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/2116\/revisions\/2269"}],"wp:attachment":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}