日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Java Enum

發布時間:2025/5/22 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Enum 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

解決之前遺留的問題之一:Java Enum的理解。

最近在研究Shiro的過程中,碰到DefaultFilter的源碼,是enum形式的。之前沒見過這樣的寫法”。

public enum DefaultFilter {anon(AnonymousFilter.class),authc(FormAuthenticationFilter.class),authcBasic(BasicHttpAuthenticationFilter.class),logout(LogoutFilter.class),noSessionCreation(NoSessionCreationFilter.class),perms(PermissionsAuthorizationFilter.class),port(PortFilter.class),rest(HttpMethodPermissionFilter.class),roles(RolesAuthorizationFilter.class),ssl(SslFilter.class),user(UserFilter.class);private final Class<? extends Filter> filterClass;private DefaultFilter(Class<? extends Filter> filterClass) {this.filterClass = filterClass;}public Filter newInstance() {return (Filter) ClassUtils.newInstance(this.filterClass);}public Class<? extends Filter> getFilterClass() {return this.filterClass;}public static Map<String, Filter> createInstanceMap(FilterConfig config) {Map<String, Filter> filters = new LinkedHashMap<String, Filter>(values().length);for (DefaultFilter defaultFilter : values()) {Filter filter = defaultFilter.newInstance();if (config != null) {try {filter.init(config);} catch (ServletException e) {String msg = "Unable to correctly init default filter instance of type " +filter.getClass().getName();throw new IllegalStateException(msg, e);}}filters.put(defaultFilter.name(), filter);}return filters;} }

?

相關博客:http://www.cnblogs.com/happyPawpaw/archive/2013/04/09/3009553.html

1.?enum本身無法再繼承

2. enum可視為class的一種

3. enum默認有valueOf(),values()方法,其實類似于類的.class,具體可能深究JVM

4. enum相等用==

5. Java enum在經過編譯后也會生成class文件,而且其經過反編譯之后生成的類實際上繼承了java.lang.Enum<E>

6.?enum的實例必須提前列舉!?enum無法用構造函數new,構造函數是private的

7. 既然enum不能實例化,那么enum中的public方法不能使用(除了列舉的現成的enum),只能使用public static的方法;

?

轉載于:https://www.cnblogs.com/hello-yz/p/5737134.html

總結

以上是生活随笔為你收集整理的Java Enum的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。