首頁>Club>
9
回覆列表
  • 1 # SteveJrong

    有。

    以c語言為例,在記憶體中建立一個字串至少需要一個char陣列來儲存,因為要儲存結束識別符號;而列舉實際則是一個結構,其內的列舉項可以定義為整型,要比字串的儲存方便,也開銷少。

    而且把字串當做列舉來用,字串也容易寫錯,而列舉都定義成數字常量,編譯器編譯時容易發現錯誤,提示開發者及時改正,便於維護。

  • 2 # Hz赫茲

    在Java程式設計中有。

    如果有選擇,使用enum是比String更好的方法。 它的效能優於String,同時還是型別安全的。如果引數集有限並且在編譯時已知,那麼使用enum。但如果引數集在編譯時未知或者是開放的,那也就別無選擇了,只能使用字串。

  • 3 # 拒海

    結論是會有效能損失

    主要是比較兩個物件

    enum 可以理解為單例的,比較時直接比較物件引用,可以簡單的理解為整型物件比較,時間複雜度是 1

    string 呢,實際用到 equals 方法,看過程式碼應該知道,是逐個字元比較的。時間複雜度是 n,字串越長越耗時

    作為 map 的 key,或者用到 switch 語句,這樣的效能差異都不算小了

  • 中秋節和大豐收的關聯?
  • 找工作,需要交中介費,你覺得應該嗎?