﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-dazuiba learning to Speak in java-随笔分类-J2SE</title><link>http://www.blogjava.net/dazuiba/category/5652.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 05:57:09 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 05:57:09 GMT</pubDate><ttl>60</ttl><item><title>java enum 枚举类 使用笔记（上）</title><link>http://www.blogjava.net/dazuiba/archive/2006/08/04/j2se_enum.html</link><dc:creator>大嘴巴</dc:creator><author>大嘴巴</author><pubDate>Fri, 04 Aug 2006 15:28:00 GMT</pubDate><guid>http://www.blogjava.net/dazuiba/archive/2006/08/04/j2se_enum.html</guid><wfw:comment>http://www.blogjava.net/dazuiba/comments/61870.html</wfw:comment><comments>http://www.blogjava.net/dazuiba/archive/2006/08/04/j2se_enum.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dazuiba/comments/commentRss/61870.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dazuiba/services/trackbacks/61870.html</trackback:ping><description><![CDATA[本文没有讨论枚举类的基本用法，如需要了解，请参照:<a class="l" onmousedown="return clk(this.href,'','','res','4','&amp;sig2=FJ95Kojgl2WKT-YiLCocBw')" href="http://www-128.ibm.com/developerworks/cn/java/j-tiger04195/" target="_blank"><font color="#0000cc">驯服Tiger: 深入研究枚举类型</font></a><br /><br />1 定义在常量类中<br />    <br />    经常碰到要将枚举类当成常量使用的情况，这不仅可以将相关的常量定义到一个枚举类中，而且还可以利用枚举类强大而又灵活的功能，在加上编译器内置的支持，使得在eclipse下的编程更方便，引入的bug更少。<br />    一般规模的项目中都会用一个单独的类来定义系统中用到的常量，起码笔者经历的几个项目都是有此种做法，该做法的好处就是便于集中管理，虽然这违背类封装的原则，但鉴于其易用性，我们还是会常常这么做。<br />    例子：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"><br /><img id="Codehighlighter1_29_1284_Open_Image" onclick="this.style.display='none'; Codehighlighter1_29_1284_Open_Text.style.display='none'; Codehighlighter1_29_1284_Closed_Image.style.display='inline'; Codehighlighter1_29_1284_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_29_1284_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_29_1284_Closed_Text.style.display='none'; Codehighlighter1_29_1284_Open_Image.style.display='inline'; Codehighlighter1_29_1284_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> SystemConstant </span><span id="Codehighlighter1_29_1284_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_29_1284_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_35_75_Open_Image" onclick="this.style.display='none'; Codehighlighter1_35_75_Open_Text.style.display='none'; Codehighlighter1_35_75_Closed_Image.style.display='inline'; Codehighlighter1_35_75_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_35_75_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_35_75_Closed_Text.style.display='none'; Codehighlighter1_35_75_Open_Image.style.display='inline'; Codehighlighter1_35_75_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_35_75_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span><span id="Codehighlighter1_35_75_Open_Text"><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     * 金库　sourceortarget 系统相关<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />     </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> String CASHWASTEBOOK_SOURCEORTARGET_SYS </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">系统</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_147_165_Open_Image" onclick="this.style.display='none'; Codehighlighter1_147_165_Open_Text.style.display='none'; Codehighlighter1_147_165_Closed_Image.style.display='inline'; Codehighlighter1_147_165_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_147_165_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_147_165_Closed_Text.style.display='none'; Codehighlighter1_147_165_Open_Image.style.display='inline'; Codehighlighter1_147_165_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_147_165_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span><span id="Codehighlighter1_147_165_Open_Text"><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     * 附件上传路径<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />     </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> String UPLOAD_ATTACHMENT_DIR</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">upload\\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> String CONFIG_DIR</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">config\\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_274_292_Open_Image" onclick="this.style.display='none'; Codehighlighter1_274_292_Open_Text.style.display='none'; Codehighlighter1_274_292_Closed_Image.style.display='inline'; Codehighlighter1_274_292_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_274_292_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_274_292_Closed_Text.style.display='none'; Codehighlighter1_274_292_Open_Image.style.display='inline'; Codehighlighter1_274_292_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_274_292_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span><span id="Codehighlighter1_274_292_Open_Text"><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     * 临时文件路径<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />     </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> String TEMP_DIR</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">temp\\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_338_354_Open_Image" onclick="this.style.display='none'; Codehighlighter1_338_354_Open_Text.style.display='none'; Codehighlighter1_338_354_Closed_Image.style.display='inline'; Codehighlighter1_338_354_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_338_354_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_338_354_Closed_Text.style.display='none'; Codehighlighter1_338_354_Open_Image.style.display='inline'; Codehighlighter1_338_354_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_338_354_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span><span id="Codehighlighter1_338_354_Open_Text"><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     * 会员关系<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />     </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_389_629_Open_Image" onclick="this.style.display='none'; Codehighlighter1_389_629_Open_Text.style.display='none'; Codehighlighter1_389_629_Closed_Image.style.display='inline'; Codehighlighter1_389_629_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_389_629_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_389_629_Closed_Text.style.display='none'; Codehighlighter1_389_629_Open_Image.style.display='inline'; Codehighlighter1_389_629_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">enum</span><span style="COLOR: #000000"> Relationship </span><span id="Codehighlighter1_389_629_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_389_629_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        GoodFriend(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">亲密好友</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">),<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        CommonFriend(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">普通朋友</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">),<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        BLACK(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">不受欢迎</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">   String v;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /><img id="Codehighlighter1_523_548_Open_Image" onclick="this.style.display='none'; Codehighlighter1_523_548_Open_Text.style.display='none'; Codehighlighter1_523_548_Closed_Image.style.display='inline'; Codehighlighter1_523_548_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_523_548_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_523_548_Closed_Text.style.display='none'; Codehighlighter1_523_548_Open_Image.style.display='inline'; Codehighlighter1_523_548_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        Relationship(String value) </span><span id="Codehighlighter1_523_548_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_523_548_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          v </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> value;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        @Override<br /><img id="Codehighlighter1_595_623_Open_Image" onclick="this.style.display='none'; Codehighlighter1_595_623_Open_Text.style.display='none'; Codehighlighter1_595_623_Closed_Image.style.display='inline'; Codehighlighter1_595_623_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_595_623_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_595_623_Closed_Text.style.display='none'; Codehighlighter1_595_623_Open_Image.style.display='inline'; Codehighlighter1_595_623_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String toString() </span><span id="Codehighlighter1_595_623_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_595_623_Open_Text"><span style="COLOR: #000000">{        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> v;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />      }</span></span><span style="COLOR: #000000">  <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> String SUCCESS </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">OK</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_678_691_Open_Image" onclick="this.style.display='none'; Codehighlighter1_678_691_Open_Text.style.display='none'; Codehighlighter1_678_691_Closed_Image.style.display='inline'; Codehighlighter1_678_691_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_678_691_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_678_691_Closed_Text.style.display='none'; Codehighlighter1_678_691_Open_Image.style.display='inline'; Codehighlighter1_678_691_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_678_691_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span><span id="Codehighlighter1_678_691_Open_Text"><span style="COLOR: #008000">/**</span><span style="COLOR: #008000">用户选择管理员登录</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> String MESSAGE_LOGIN_TYPEERROR1 </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">您不能选择管理员登录</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_763_779_Open_Image" onclick="this.style.display='none'; Codehighlighter1_763_779_Open_Text.style.display='none'; Codehighlighter1_763_779_Closed_Image.style.display='inline'; Codehighlighter1_763_779_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_763_779_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_763_779_Closed_Text.style.display='none'; Codehighlighter1_763_779_Open_Image.style.display='inline'; Codehighlighter1_763_779_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_763_779_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span><span id="Codehighlighter1_763_779_Open_Text"><span style="COLOR: #008000">/**</span><span style="COLOR: #008000">管理员选择会员或家长登录</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> String MESSAGE_LOGIN_TYPEERROR2 </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">您应该选择管理员登录</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_851_864_Open_Image" onclick="this.style.display='none'; Codehighlighter1_851_864_Open_Text.style.display='none'; Codehighlighter1_851_864_Closed_Image.style.display='inline'; Codehighlighter1_851_864_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_851_864_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_851_864_Closed_Text.style.display='none'; Codehighlighter1_851_864_Open_Image.style.display='inline'; Codehighlighter1_851_864_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_851_864_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span><span id="Codehighlighter1_851_864_Open_Text"><span style="COLOR: #008000">/**</span><span style="COLOR: #008000">会员或家长重复登陆</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> String MESSAGE_LOGIN_REPEAT </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">可能因为以下原因，您无法登陆系统\n\t１　有人盗用您的帐号\n２ 您的{0}正在使用本帐号</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> String MESSAGE_LONGIN_PASSWORDERROR </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">用户名或密码无效</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> String MESSAGE_INSUFFICIENT_FUNDS </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">您的帐户余额不足</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> String MESSAGE_MEMBER_ONLINETIME_FULL </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">您今日的累计上线时间已超过１.５小时</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_1194_1219_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1194_1219_Open_Text.style.display='none'; Codehighlighter1_1194_1219_Closed_Image.style.display='inline'; Codehighlighter1_1194_1219_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1194_1219_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1194_1219_Closed_Text.style.display='none'; Codehighlighter1_1194_1219_Open_Image.style.display='inline'; Codehighlighter1_1194_1219_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1194_1219_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span><span id="Codehighlighter1_1194_1219_Open_Text"><span style="COLOR: #008000">/**</span><span style="COLOR: #008000">会员每天最大登录时限 单位分钟 默认90*</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> MEMBER_MAX_DAY_ONLINE_MINUTES </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">90</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>   <br />    可以看到，枚举类型Relationship是定义一些会员关系之间的东东，其实我可以把它单独定义一个类，或者放到Member(会员)这个类中，但综合考虑，我还是觉得放到SystemConstant比较好，并且今后重构SystemConstant，会添加从xml文件读取属性的功能。<br />     虽然Relationship是一个内部类，但由于是静态的，所以可以直接import,而无须每次都用SystemConstant.Relationship;<br /> 例如：<br />    public Relationship getRelationship() {<br />           return Relationship.valueOf(relationship);<br />        }<br /><br />  2 说到从xml文件读取属性来动态配置枚举类，我下面就举个例子，演示演示<br />     一些web系统中涉及到文件上传，根据文件类型显示相应图标，并且有些jsp,asp等等的文件不允许上传，下面就是一个满足这种需求的枚举类，它最大的特点就是可以从xml中读取配置信息<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id="Codehighlighter1_0_43_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_43_Open_Text.style.display='none'; Codehighlighter1_0_43_Closed_Image.style.display='inline'; Codehighlighter1_0_43_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_0_43_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_43_Closed_Text.style.display='none'; Codehighlighter1_0_43_Open_Image.style.display='inline'; Codehighlighter1_0_43_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span id="Codehighlighter1_0_43_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span><span id="Codehighlighter1_0_43_Open_Text"><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> * 系统中用到的文件扩展名 枚举类<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> * </span><span style="COLOR: #808080">@author</span><span style="COLOR: #008000"> zgy<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> *<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /> </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_71_1286_Open_Image" onclick="this.style.display='none'; Codehighlighter1_71_1286_Open_Text.style.display='none'; Codehighlighter1_71_1286_Closed_Image.style.display='inline'; Codehighlighter1_71_1286_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_71_1286_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_71_1286_Closed_Text.style.display='none'; Codehighlighter1_71_1286_Open_Image.style.display='inline'; Codehighlighter1_71_1286_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">enum</span><span style="COLOR: #000000"> FileExtension </span><span id="Codehighlighter1_71_1286_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_71_1286_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    doc, jsp, jpeg, jpg, rar, zip, txt,unknown;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">boolean</span><span style="COLOR: #000000"> allow;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> String comment;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> String iconPath;<br /><img id="Codehighlighter1_206_227_Open_Image" onclick="this.style.display='none'; Codehighlighter1_206_227_Open_Text.style.display='none'; Codehighlighter1_206_227_Closed_Image.style.display='inline'; Codehighlighter1_206_227_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_206_227_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_206_227_Closed_Text.style.display='none'; Codehighlighter1_206_227_Open_Image.style.display='inline'; Codehighlighter1_206_227_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_206_227_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_206_227_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        loadFromXml(); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"> <br /><img id="Codehighlighter1_247_347_Open_Image" onclick="this.style.display='none'; Codehighlighter1_247_347_Open_Text.style.display='none'; Codehighlighter1_247_347_Closed_Image.style.display='inline'; Codehighlighter1_247_347_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_247_347_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_247_347_Closed_Text.style.display='none'; Codehighlighter1_247_347_Open_Image.style.display='inline'; Codehighlighter1_247_347_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    FileExtension() </span><span id="Codehighlighter1_247_347_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_247_347_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.iconPath </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> name();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.allow </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.comment </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">comment for</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> name();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000">    <br /><img id="Codehighlighter1_351_382_Open_Image" onclick="this.style.display='none'; Codehighlighter1_351_382_Open_Text.style.display='none'; Codehighlighter1_351_382_Closed_Image.style.display='inline'; Codehighlighter1_351_382_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_351_382_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_351_382_Closed_Text.style.display='none'; Codehighlighter1_351_382_Open_Image.style.display='inline'; Codehighlighter1_351_382_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_351_382_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/** */</span><span id="Codehighlighter1_351_382_Open_Text"><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     * 从config目录中load<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     * <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />     </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_419_1033_Open_Image" onclick="this.style.display='none'; Codehighlighter1_419_1033_Open_Text.style.display='none'; Codehighlighter1_419_1033_Closed_Image.style.display='inline'; Codehighlighter1_419_1033_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_419_1033_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_419_1033_Closed_Text.style.display='none'; Codehighlighter1_419_1033_Open_Image.style.display='inline'; Codehighlighter1_419_1033_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> loadFromXml() </span><span id="Codehighlighter1_419_1033_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_419_1033_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_427_969_Open_Image" onclick="this.style.display='none'; Codehighlighter1_427_969_Open_Text.style.display='none'; Codehighlighter1_427_969_Closed_Image.style.display='inline'; Codehighlighter1_427_969_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_427_969_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_427_969_Closed_Text.style.display='none'; Codehighlighter1_427_969_Open_Image.style.display='inline'; Codehighlighter1_427_969_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_427_969_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_427_969_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            Document doc </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> XmlUtil.parseXmlFile(SystemConstant.CONFIG_DIR<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">fileExtension.xml</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            NodeList extensionList </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> doc.getElementsByTagName(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">FileExtension</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img id="Codehighlighter1_649_965_Open_Image" onclick="this.style.display='none'; Codehighlighter1_649_965_Open_Text.style.display='none'; Codehighlighter1_649_965_Closed_Image.style.display='inline'; Codehighlighter1_649_965_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_649_965_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_649_965_Closed_Text.style.display='none'; Codehighlighter1_649_965_Open_Image.style.display='inline'; Codehighlighter1_649_965_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> extensionList.getLength(); i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) </span><span id="Codehighlighter1_649_965_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_649_965_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                Element item </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (Element) extensionList.item(i);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                String name </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> item.getAttribute(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">name</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                FileExtension em </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> FileExtension.valueOf(name);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                em.allow </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Boolean.parseBoolean(item.getAttribute(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">allow</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                em.iconPath </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> item.getAttribute(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">iconPath</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                em.comment </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> item.getAttribute(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">comment</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_991_1030_Open_Image" onclick="this.style.display='none'; Codehighlighter1_991_1030_Open_Text.style.display='none'; Codehighlighter1_991_1030_Closed_Image.style.display='inline'; Codehighlighter1_991_1030_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_991_1030_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_991_1030_Closed_Text.style.display='none'; Codehighlighter1_991_1030_Open_Image.style.display='inline'; Codehighlighter1_991_1030_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span></span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> (Exception e) </span><span id="Codehighlighter1_991_1030_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_991_1030_Open_Text"><span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">throw</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> RuntimeException(e);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_1062_1081_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1062_1081_Open_Text.style.display='none'; Codehighlighter1_1062_1081_Closed_Image.style.display='inline'; Codehighlighter1_1062_1081_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1062_1081_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1062_1081_Closed_Text.style.display='none'; Codehighlighter1_1062_1081_Open_Image.style.display='inline'; Codehighlighter1_1062_1081_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">boolean</span><span style="COLOR: #000000"> isAllow() </span><span id="Codehighlighter1_1062_1081_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_1062_1081_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> allow;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_1112_1133_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1112_1133_Open_Text.style.display='none'; Codehighlighter1_1112_1133_Closed_Image.style.display='inline'; Codehighlighter1_1112_1133_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1112_1133_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1112_1133_Closed_Text.style.display='none'; Codehighlighter1_1112_1133_Open_Image.style.display='inline'; Codehighlighter1_1112_1133_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String getComment() </span><span id="Codehighlighter1_1112_1133_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_1112_1133_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> comment;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"> <br /><img id="Codehighlighter1_1167_1189_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1167_1189_Open_Text.style.display='none'; Codehighlighter1_1167_1189_Closed_Image.style.display='inline'; Codehighlighter1_1167_1189_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1167_1189_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1167_1189_Closed_Text.style.display='none'; Codehighlighter1_1167_1189_Open_Image.style.display='inline'; Codehighlighter1_1167_1189_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String getUploadIcon() </span><span id="Codehighlighter1_1167_1189_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_1167_1189_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> iconPath;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_1232_1284_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1232_1284_Open_Text.style.display='none'; Codehighlighter1_1232_1284_Closed_Image.style.display='inline'; Codehighlighter1_1232_1284_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1232_1284_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1232_1284_Closed_Text.style.display='none'; Codehighlighter1_1232_1284_Open_Image.style.display='inline'; Codehighlighter1_1232_1284_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main(String[] args) </span><span id="Codehighlighter1_1232_1284_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_1232_1284_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(FileExtension.doc.comment);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div><br />配置文件如下：config/fileExtension.xml<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;FileExtensions&gt; <br /> &lt;FileExtension name="doc" iconPath="doc.jpg" allow="true"   comment="文本"/&gt;<br /> &lt;FileExtension name="jpg" iconPath="jpg.jpg" allow="true"   comment=""/&gt;<br /> &lt;FileExtension name="jpeg" iconPath="jpeg.jpg" allow="true" comment=""/&gt;<br /> &lt;FileExtension name="rar" iconPath="rar.jpg" allow="true"   comment=""/&gt;<br /> &lt;FileExtension name="zip" iconPath="zip.jpg" allow="true"   comment=""/&gt;<br /> &lt;FileExtension name="txt" iconPath="txt.jpg" allow="true"   comment=""/&gt;<br />    &lt;FileExtension name="jsp" iconPath="jsp.jpg" allow="false"  comment=""/&gt;<br />&lt;/FileExtensions&gt;<br /><br />可能系统中其他的一些枚举类（比如1 中提到的RelationShip）也会用到非常类似的做法，这时候我们就可以重构了，将一些共同的特点抽取到一个抽象类中。这将会在以后的文章中提到。<br />有不同的观点，请联系<a href="mailto:come2u@gmail.co">come2u at gmail.co</a>m  ,欢迎交流。<br /><img src ="http://www.blogjava.net/dazuiba/aggbug/61870.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dazuiba/" target="_blank">大嘴巴</a> 2006-08-04 23:28 <a href="http://www.blogjava.net/dazuiba/archive/2006/08/04/j2se_enum.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(如何设置)Eclipse log4j 从控制台的日志输出跳转到代码-</title><link>http://www.blogjava.net/dazuiba/archive/2006/04/01/38604.html</link><dc:creator>大嘴巴</dc:creator><author>大嘴巴</author><pubDate>Sat, 01 Apr 2006 06:03:00 GMT</pubDate><guid>http://www.blogjava.net/dazuiba/archive/2006/04/01/38604.html</guid><wfw:comment>http://www.blogjava.net/dazuiba/comments/38604.html</wfw:comment><comments>http://www.blogjava.net/dazuiba/archive/2006/04/01/38604.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dazuiba/comments/commentRss/38604.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dazuiba/services/trackbacks/38604.html</trackback:ping><description><![CDATA[Hyperlinking from Log4j console output to source location http://abstractplain.net/blog/?p=443 只要这样设置log4j的pattern,eclipse就可以解析打印出的日志，并自动连接到相应行的源代码 log4j.appender.console.layout.ConversionPattern= %-5p %C.(%F:%L)%m %n<img src ="http://www.blogjava.net/dazuiba/aggbug/38604.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dazuiba/" target="_blank">大嘴巴</a> 2006-04-01 14:03 <a href="http://www.blogjava.net/dazuiba/archive/2006/04/01/38604.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>谁动了我的集合中的对象?!</title><link>http://www.blogjava.net/dazuiba/archive/2006/02/28/32867.html</link><dc:creator>大嘴巴</dc:creator><author>大嘴巴</author><pubDate>Tue, 28 Feb 2006 08:35:00 GMT</pubDate><guid>http://www.blogjava.net/dazuiba/archive/2006/02/28/32867.html</guid><wfw:comment>http://www.blogjava.net/dazuiba/comments/32867.html</wfw:comment><comments>http://www.blogjava.net/dazuiba/archive/2006/02/28/32867.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dazuiba/comments/commentRss/32867.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dazuiba/services/trackbacks/32867.html</trackback:ping><description><![CDATA[以后向集合中放东西千万不要把临时变量放到for 外面了,请看下面的代码: List resultList=new ArrayList(); Model model =new Model(); for (int i = 0; i &lt; 100; i++) { String str=i+&quot;&quot;; model.setAttr(str); resultList.add(model); } return resultList; 大家猜以下返回的resultList会是什么样子? 99, 99, 99, 99, 99~~~~~~~~~~~~ 怎么回事,哎,太不小心了!<img src ="http://www.blogjava.net/dazuiba/aggbug/32867.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dazuiba/" target="_blank">大嘴巴</a> 2006-02-28 16:35 <a href="http://www.blogjava.net/dazuiba/archive/2006/02/28/32867.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>