美文网首页Salesforce
Salesforce基础 - Apex枚举

Salesforce基础 - Apex枚举

作者: Salesforce开发者 | 来源:发表于2022-01-10 22:58 被阅读0次

枚举

枚举是一种抽象数据类型,每个值都采用您指定的一组有限标识符中的一个。枚举通常用于定义一组没有数字顺序的可能值。典型的例子包括卡片的花色,或一年中的特定季节。
尽管每个值对应一个不同的整数值,枚举隐藏了这个实现。隐藏实现可以防止任何可能的误用值来执行算术等。创建枚举后,可以声明该类型的变量、方法参数和返回类型。

与 Java 不同,枚举类型本身没有构造函数语法。

要定义枚举,请使用 enum 关键字并用花括号括起来每个可能的值。例如,以下代码创建一个名为 Season 的枚举:

public enum Season {WINTER, SPRING, SUMMER, FALL}

你可以像使用任何其他数据类型一样使用这种新数据类型。例如:

Season southernHemisphereSeason = Season.WINTER;

public Season getSouthernHemisphereSeason(Season northernHemisphereSeason) {

    if (northernHemisphereSeason == Season.SUMMER) return southernHemisphereSeason;
     //...
}

你还可以将类定义为枚举。在创建枚举类时,不允许使用 class 关键字

public enum MyEnumClass { X, Y }

定义类型为枚举的变量时,分配给它的任何对象都必须是该枚举类的实例。

系统内置定义的枚举

Apex 提供下列类型的系统定义的枚举:

  1. System.StatusCode: 对应于在 WSDL 文档中为所有 API 操作公开的 API 错误代码。
  2. System.XmlTag: 用于从 webservice 方法解析XML 的返回结果列表。
  3. System.ApplicationReadWriteMode: 指示组织在 Salesforce 升级和停机期间是否处于5分钟升级只读模式。
  4. System.LoggingLevel: 与 system.debug 方法一起使用,为所有调试指定日志级别。
  5. System.RoundingMode: 执行数学运算的方法使用此枚举来指定运算的舍入行为。
  6. System.SoapType: 由字段描述结果 getSoapType 方法返回。
  7. System.DisplayType: 由字段描述结果 getType 方法返回。
  8. System.JSONToken: 用于解析 JSON 内容。
  9. ApexPages.Severity: 指定 Visualforce Pages 消息的严重性。
  10. Dom.XmlNodeType: 指定 DOM 文档中的节点类型。

枚举方法

所有 Apex 枚举,无论是用户定义的枚举还是系统内置定义的枚举,都有以下这些常见的方法:

  1. values : 此方法将枚举的值作为相同枚举类型的列表返回。
List<StatusCode> statusCodes = System.StatusCode.values();
System.debug(LoggingLevel.INFO, '*** statusCodes: ' + statusCodes);
  1. valueOf(string enumStr) : 此方法将指定的字符串转换为枚举常量值。如果输入字符串与枚举值不匹配,则引发异常。
StatusCode statusCodeValue = StatusCode.valueOf('delete_failed');
System.debug(LoggingLevel.INFO, '*** statusCodeValue: ' + statusCodeValue);
  1. name : 以字符串形式返回枚举项的名称。
String deleteFailedStr = StatusCode.DELETE_FAILED.name();
System.debug(LoggingLevel.INFO, '*** deleteFailedStr: ' + deleteFailedStr);
  1. ordinal : 返回该枚举项在以零开始的枚举值列表中的位置,是Integer类型。
Integer i = StatusCode.DELETE_FAILED.ordinal();
System.debug(LoggingLevel.INFO, '*** i: ' + i);

本篇参考:https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/langCon_apex_enums.htm
本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接

相关文章

  • Salesforce基础 - Apex枚举

    枚举 枚举是一种抽象数据类型,每个值都采用您指定的一组有限标识符中的一个。枚举通常用于定义一组没有数字顺序的可能值...

  • Salesforce基础 - 认识Apex

    什么是Apex? Apex是一种强类型的面向对象程序设计语言,它允许开发者在 Salesforce 服务器上执行流...

  • Salesforce基础 - Apex变量

    变量 变量使用 java 风格的语法声明。例如: 和 Java 一样,多个变量可以在一个语句中声明和初始化,使用逗...

  • Salesforce基础 - Apex常量

    常量 常量是指在程序的整个运行过程中值保持不变的量。常量使用 final 关键字来定义。使用 final 关键字意...

  • 一款Salesforce测试工具: Apex Test Kit

    这里给大家介绍一款Salesforce测试数据生成工具Apex Test Kit。 每个Salesforce开发者...

  • Apex 企业设计模式

    FFLIB 是一个免费的框架,对 Apex 进行了扩展。它的结构实现了 Salesforce 推荐的Apex 企业...

  • Salesforce基础 - Apex字符串

    1. public String abbreviate(Integer maxWidth)如果当前 String ...

  • Salesforce基础 - Apex数据类型

    数据类型 在 Apex 中,所有变量和表达式都有一个数据类型,例如 sObject、primitive 或 enu...

  • 从网络服务生成Apex类

    使用WSDL2Apex从网络服务生成Apex类 如果某个网络服务被定义在WSDL文件中,而Salesforce必须...

  • Apex简介

    Apex特点 Salesforce为开发者提供了Apex语言。它是一种语法上类似于Java的编程语言,有以下特点:...

网友评论

    本文标题:Salesforce基础 - Apex枚举

    本文链接:https://www.haomeiwen.com/subject/fidjcrtx.html