<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 帶有字符串值的 Java 枚舉 > 原文: [https://howtodoinjava.com/java/enum/java-enum-string-example/](https://howtodoinjava.com/java/enum/java-enum-string-example/) 在本本使用字符串值進行 Java 枚舉的指南中,學習**使用字符串**創建枚舉,遍歷所有枚舉值,獲取枚舉值以及對**進行反向查找,以通過字符串**參數查找枚舉。 具有固定值的固定屬性集時,應始終創建枚舉。 [它們本質上是單例](//howtodoinjava.com/java/enum/is-enum-really-best-for-singletons/),提供了更好的性能。 ## 1\. 使用字符串值創建 Java 枚舉 Java 程序*用字符串*創建枚舉。 該枚舉包含部署環境及其各自的 URL。 將每個枚舉常量的 URL 傳遞給**枚舉構造器**。 ```java public enum Environment { PROD("https://prod.domain.com:1088/"), SIT("https://sit.domain.com:2019/"), CIT("https://cit.domain.com:8080/"), DEV("https://dev.domain.com:21323/"); private String url; Environment(String envUrl) { this.url = envUrl; } public String getUrl() { return url; } } ``` ## 2\. 迭代枚舉常量 要遍歷**枚舉列表**,請對枚舉類型使用`values()`方法,該方法返回數組中的所有枚舉常量。 ```java //Get all enums for(Environment env : Environment.values()) { System.out.println(env.name() + " :: "+ env.getUrl()); } ``` 輸出: ```java PROD :: https://prod.domain.com:1088/ SIT :: https://sit.domain.com:2019/ CIT :: https://cit.domain.com:8080/ DEV :: https://dev.domain.com:21323/ ``` ## 3\. Java 枚舉轉換為`String` 要獲取單個枚舉值(例如,從枚舉常量獲取產品網址),請使用您創建的值方法。 ```java //Using enum constant reference String prodUrl = Environment.PROD.getUrl(); System.out.println(prodUrl); ``` 輸出: ```java https://prod.domain.com:1088/ ``` ## 4\. 按名稱獲取枚舉 – 枚舉字符串參數 如果您想使用它的名稱獲取枚舉常量,請使用`valueOf()`方法。 ```java //First get enum constant reference from string Environment sitUrl = Environment.valueOf("SIT"); System.out.println(sitUrl.getUrl()); ``` 輸出: ```java https://sit.domain.com:2019/ ``` ## 5\. 反向查找 – 從值中獲取枚舉名稱 很多時候,我們將擁有枚舉的值,并且我們將需要**通過字符串**值獲取枚舉名稱。 這可以通過反向查找來實現。 在反向查找中,枚舉在內部維護***值到枚舉***的映射作為鍵值對。 搜索了此映射,應用程序需要查找與其關聯的字符串值有關的枚舉。 ```java import java.util.HashMap; import java.util.Map; public enum Environment { PROD("https://prod.domain.com:1088/"), SIT("https://sit.domain.com:2019/"), CIT("https://cit.domain.com:8080/"), DEV("https://dev.domain.com:21323/"); private String url; Environment(String envUrl) { this.url = envUrl; } public String getUrl() { return url; } //****** Reverse Lookup Implementation************// //Lookup table private static final Map<String, Environment> lookup = new HashMap<>(); //Populate the lookup table on loading time static { for(Environment env : Environment.values()) { lookup.put(env.getUrl(), env); } } //This method can be used for reverse lookup purpose public static Environment get(String url) { return lookup.get(url); } } ``` 要使用此反向查找,請在應用程序代碼中使用`enum.get()`方法。 ```java //Get enum constant by string - Reverse Lookup String url = "https://sit.domain.com:2019/"; Environment env = Environment.get(url); System.out.println(env); ``` Output: ```java SIT ``` > 閱讀更多:[完整的 Java 枚舉指南](//howtodoinjava.com/java/enum/guide-for-understanding-enum-in-java/) 在評論部分,將我對 **Java 8 枚舉**的問題留給我。 學習愉快! 閱讀更多: [Java 枚舉教程](http://www.ntu.edu.sg/home/ehchua/programming/java/javaenum.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看