2012-03-23 71 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