2012-03-23 26 views
4

我想在我的Apex代碼中使用Enum值,因爲我們在使用外部服務時有一些嚴格的類型,但是當我從外部服務獲得響應時,我努力將Enum值的字符串表示形式轉換回Enum,所以它可以在我的代碼中使用。如何解析字符串並返回Apex代碼中的枚舉值?

要做到這一點在C#中我可以這樣做:

DayOfWeek wednesday = 
     (DayOfWeek)Enum.Parse(typeof(DayOfWeek), "Wednesday"); 

但在頂點的代碼,我無法找到一個方法來做到這一點。有人有解決方案嗎?

回答

7

這不是通用的,但它的工作:

String dayOfWeekNameToMatch = 'Wednesday'; 
DayOfWeek dayOfWeekMatch; 
for (DayOfWeek dow: DayOfWeek.values()) { 
    if (dow.name() == dayOfWeekNameToMatch) { 
     dayOfWeekMatch = dow; 
     break; 
    } 
} 
+0

我覺得我確定它不是通用的,我沒有在我的代碼龐大枚舉的量我可以寫一個實用工具方法爲每一個。 – thegogz 2012-03-23 16:03:53

+1

我已經發布了想法[Apex Enum從字符串解析](https://success.salesforce.com/ideaView?id=08730000000LfWhAAK)以查看是否可以直接從Apex處理這個問題。 – 2015-10-16 00:39:39

相關問題