在程式的開發上,列舉是一個很常用的功能,不管是任何程式語言,都常常用到列舉的方式來存取值,以讓程式更簡單易懂。而海芋最近在 Android 的開發上,需要將以字串當做列舉的值,並加以存取,在查了一下資料後,終於找出怎麼做了,於是分享給大家。 就讓我們直接看程式碼吧!以下是程式碼的部份。
/**
* 顏色定義
* */
public enum Colors{
   HEX_GREEN_COLOR("0f0"),
   HEX_RED_COLOR("f00"),
   HEX_BLUE_COLOR("00f"),

    private final String value;

    private Colors(Stri">










 

在程式的開發上,列舉是一個很常用的功能,不管是任何程式語言,都常常用到列舉的方式來存取值,以讓程式更簡單易懂。而海芋最近在 Android 的開發上,需要將以字串當做列舉的值,並加以存取,在查了一下資料後,終於找出怎麼做了,於是分享給大家。

就讓我們直接看程式碼吧!以下是程式碼的部份。
/**
* 顏色定義
* */
public enum Colors{
   HEX_GREEN_COLOR("0f0"),
   HEX_RED_COLOR("f00"),
   HEX_BLUE_COLOR("00f"),

    private final String value;

    private Colors(Stri"/>


































	







  













  在程式的開發上,列舉是一個很常用的功能,不管是任何程式語言,都常常用到列舉的方式來存取值,以讓程式更簡單易懂。而海芋最近在 Android 的開發上,需要將以字串當做列舉的值,並加以存取,在查了一下資料後,終於找出怎麼做了,於是分享給大家。 就讓我們直接看程式碼吧!以下是程式碼的部份。
/**
* 顏色定義
* */
public enum Colors{
   HEX_GREEN_COLOR("0f0"),
   HEX_RED_COLOR("f00"),
   HEX_BLUE_COLOR("00f"),

    private final String value;

    private Colors(Stri" data-category="Lifestyle" data-category-name="生活休閒" data-author="寵物協尋 相信 終究能找到回家的路" data-author-id="twpetsearcharlinksnet" data-tags="桃園,qq,地點,貓咪,桃園市,taoyuan,xuan,根部,尾巴,有大" data-published-time="2021-12-25T18:18:00" data-path="/@twpetsearcharlinksnet/post/amyAw7">

如何設定 Java 列舉值 (enum) 為字串 (String)? - 海芋小站

在程式的開發上,列舉是一個很常用的功能,不管是任何程式語言,都常常用到列舉的方式來存取值,以讓程式更簡單易懂。而海芋最近在 Android 的開發上,需要將以字串當做列舉的值,並加以存取,在查了一下資料後,終於找出怎麼做了,於是分享給大家。

 

就讓我們直接看程式碼吧!以下是程式碼的部份。

/**
* 顏色定義
* */
public enum Colors{
  HEX_GREEN_COLOR("0f0"),
  HEX_RED_COLOR("f00"),
  HEX_BLUE_COLOR("00f"),

  private final String value;
  private Colors(String s) {
    value = s;
  }

  public String toString(){
    return value;
  }
}

 

在上列的列舉程式碼中,我們覆寫了 toString() 這個函式,以做為外部存取之用,而如何取值呢?很簡單,以取綠色這個顏色色碼來說,只要用 「Colors.HEX_GREEN_COLOR.toString()」就可以了喔!雖然這個方法很方便,但缺點就是每次使用都必須 new 一次 Colors 這個元件,這可能會影響到效能的問題,所以這些變數常用的到話,還是建議使用 static 來存取,以下是使用 static 的範例。

/**
* 顏色定義
* */
public class Colors{
  public static String HEX_GREEN_COLOR = "0f0";
  public static String HEX_RED_COLOR = "f00";
  public static String HEX_BLUE_COLOR = "00f";,
}

 

以取綠色這個顏色色碼來說,只要用 「Colors.HEX_GREEN_COLOR」就可以了喔!

 

另外,也可以使用 「介面 (interface)」的方式來實做,這樣只要任何 Class 有 implement 該介面的話,就可以直接調用顏色色碼了,感謝讀者 tony200910041 補充。

/**
* 顏色定義
* */
public interface Colors {
  public static final String HEX_GREEN_COLOR = "0f0";
  public static final String HEX_RED_COLOR = "f00"; 
  public static final String HEX_BLUE_COLOR = "00f";
}

 



熱門推薦

本文由 inote 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦