摘要:相關解決語句中只能寫枚舉類定義的枚舉值前面不能帶類名限定在中已經(jīng)確定了枚舉的類型如果有兩個枚舉中都有同一個變量比如的話則無法確定判斷的先后順序解決方式枚舉值不是常量而后面只能跟常量先將型的轉換成枚舉值再進行匹配在以后,實現(xiàn)接口后,要滿足三個
enum相關 an enum switch case label must be the unqualified name of an enumeration constant
private void Test(ColorType type){ switch (type){ case ColorType.GREEN: break; case ColorType.RED: break; case ColorType.ORANGE: break; default: break; } }
解決
case語句中只能寫枚舉類定義的枚舉值, 前面不能帶類名限定, 在switch中已經(jīng)確定了枚舉的類型.
如果有兩個枚舉中都有同一個變量(比如GREEN)的話, 則無法確定判斷的先后順序.
private void Test(ColorType type){ switch (type){ case GREEN: break; case RED: break; case ORANGE: break; default: break; } }constant expression required
private void Test(int type){ switch (type){ case ColorType.GREEN.getCode(): break; case ColorType.RED.getCode(): break; case ColorType.ORANGE.getCode(): break; default: break; } }
解決方式
枚舉值不是常量, 而case后面只能跟常量.
先將int型的type轉換成枚舉值, 再進行switch匹配
在JDK7以后,實現(xiàn)Comparable接口后,要滿足三個特性: 自反性, 對稱性和傳遞性.
通常是因為沒有滿足對稱性導致的, 如沒有判斷返回"相等"的情況
可以用System.setProperty("java.util.Arrays.useLegacyMergeSort", "true"), 或設置JVM參數(shù)-Djava.util.Arrays.useLegacyMergeSort=true來兼容JDK6及以前版本的代碼, 因為JDK7之后默認使用的TimSort
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/68542.html
摘要:不受檢查異常為編譯器不要求強制處理的異常,檢查異常則是編譯器要求必須處置的異常。潛在的異常處理器是異常發(fā)生時依次存留在調用棧中的方法的集合。當運行時系統(tǒng)遍歷調用棧而未找到合適的異常處理器,則運行時系統(tǒng)終止。異常處理涉及到五個關鍵字,分別是。 概念 程序運行時,發(fā)生的不被期望的事件,它阻止了程序按照程序員的預期正常執(zhí)行,這就是異常。 異常是程序中的一些錯誤,但并不是所有的錯誤都是異常,并...
摘要:對象的自動清除對象回收是由垃圾回收線程負責方法可以要求系統(tǒng)進行垃圾回收,僅僅是建議系統(tǒng)沒有析構方法,但的有類似方法系統(tǒng)在回收時會自動調用對象的方法子類的方法可以在里面釋放系統(tǒng)資源,一般來說,子類的方法中應該調用父類的方法。 對象的自動清除 對象回收是由垃圾回收線程負責 System.gc()方法可以要求系統(tǒng)進行垃圾回收,僅僅是建議系統(tǒng) java沒有析構方法,但Object的final...
摘要:語法解析是如何執(zhí)行的原文地址,對于常見編譯型語言例如來說,編譯步驟分為詞法分析語法分析語義檢查代碼優(yōu)化和字節(jié)碼生成。對于解釋型語言例如來說,通過詞法分析語法分析語法樹,就可以開始解釋執(zhí)行了。 JavaScript 語法解析、AST、V8、JIT JavaScript 是如何執(zhí)行的 原文地址,對于常見編譯型語言(例如:Java)來說,編譯步驟分為:詞法分析->語法分析->語義檢查->代碼...
摘要:異常也就是指程序運行時發(fā)生錯誤,而異常處理就是對這些錯誤進行處理和控制。有兩個重要的子類異常和錯誤,二者都是異常處理的重要子類,各自都包含大量子類。需要注意的是,一旦某個捕獲到匹配的異常類型,將進入異常處理代碼。 1,異?,F(xiàn)象 程序錯誤分為三種:1,編譯錯誤;2,運行時錯誤;3,邏輯錯誤。 編譯錯誤是因為程序沒有遵循語法規(guī)則,編譯程序能夠自己發(fā)現(xiàn)并且提示我們錯誤的原因和位置,這...
閱讀 3858·2021-09-22 15:17
閱讀 2001·2021-09-22 14:59
閱讀 2409·2020-12-03 17:00
閱讀 3307·2019-08-30 15:55
閱讀 558·2019-08-30 11:23
閱讀 3555·2019-08-29 13:56
閱讀 578·2019-08-29 12:54
閱讀 2310·2019-08-29 12:49