【Salesforce Apex 教程】3. Apex基础① 数据类型与变量
2023年09月15日
文章浏览:366

3. Apex基础

在本章中,我们将深入研究Apex编程语言的基础知识。Apex是一种强大的编程语言,特别为Salesforce平台设计,用于实现自定义业务逻辑和扩展Salesforce功能。无论您是否具备编程经验,我们将从头开始,逐步介绍Apex的核心概念。


3.1 数据类型与变量(参考Data Types and Variables

在编程中,数据类型是一种重要的概念,用于定义变量和常量的类型以及如何在内存中存储和处理数据。Apex支持多种数据类型,我们将首先了解基本数据类型。

3.1.1 基本数据类型

1.整数(Integer): 用于表示整数值。

Integer myInteger = 42;

2.小数(Decimal): 用于表示包含小数部分的数字。

Decimal myDecimal = 3.14;

3.字符串(String): 用于表示文本数据。

String myString = 'Hello, World!';

4.布尔(Boolean): 用于表示逻辑值,只能是 true 或 false。

Boolean isTrue = true;

5.日期(Date): 用于表示日期。

Date myDate = Date.today();

6.日时(Datetime): 用于表示日期和时间。

Datetime myDatetime = Datetime.now();

7.ID: 用于表示Salesforce记录的唯一标识。

Id recordId = '0012e00000ABCDEF123';

8.SObject: 用于表示Salesforce对象。

Account myAccount = new Account(Name='My Company');

9.Blob: 用于表示二进制数据。 (在示例中不太容易展示,通常用于处理二进制文件)


3.1.2 集合数据类型(List, Set, Map)

这些是Apex中的一些常见集合数据类型。它们用于处理和操作多个值,每种类型都有其特定的用途。

在编写Apex代码时,选择正确的集合类型对于有效地解决问题非常重要。

List(列表)

List 是一种有序的集合,用于存储多个值。这些值可以是相同的数据类型或不同的数据类型。在List中,元素的顺序非常重要,你可以通过索引来访问它们。

// 创建一个整数类型的List
List<Integer> numbers = new List<Integer>{1, 2, 3, 4, 5};

// 访问List中的元素
Integer firstNumber = numbers[0];

Set(集合)

Set 是一种无序的集合,用于存储一组唯一的值。这意味着在Set中,不会有重复的元素。

// 创建一个字符串类型的Set
Set<String> fruits = new Set<String>{'apple', 'banana', 'orange', 'apple'};

// Set中不包含重复的元素,所以fruits大小为3
Integer setSize = fruits.size();

Map(映射)

Map 是一种键值对的集合,每个键都与一个值相关联。这使得Map非常适合存储和检索与特定键相关联的数据。

// 创建一个Map,将国家与首都关联起来
Map<String, String> countryToCapital = new Map<String, String>{
    'USA' => 'Washington, D.C.',
    'France' => 'Paris',
    'Japan' => 'Tokyo'
};

// 通过键获取值
String capitalOfFrance = countryToCapital.get('France');

对于Map, 我曾经写过另一篇文章,介绍了一些使用技巧,欢迎阅读:

【探索Apex开发之】 使用Map时的几个技巧,让你的代码更高效


3.1.3 自定义数据类型

在Apex中,你有机会创建自己的自定义数据类型,这些类型可以用于更好地组织和管理你的数据。以下是一些常见的自定义数据类型:

1. 枚举(Enum)

枚举 是一种自定义数据类型,用于定义一组命名的常量值。它们非常适合表示那些只有有限数量选项的数据,例如状态或类型。

// 定义一个枚举类型,表示一周的每一天
enum Day {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

// 声明一个变量使用枚举类型
Day today = Day.WEDNESDAY;

2. 类(Class)

类 是一种自定义数据类型,用于创建自己的对象。你可以在类中定义属性(数据)和方法(行为)。这对于表示真实世界中的事物非常有用。

// 定义一个简单的类,表示一本书
public class Book {
    public String title;
    public String author;
    public Integer pageCount;
    
    public Book(String bookTitle, String bookAuthor, Integer pages) {
        title = bookTitle;
        author = bookAuthor;
        pageCount = pages;
    }
    
    public String getBookInfo() {
        return 'Title: ' + title + ', Author: ' + author + ', Pages: ' + pageCount;
    }
}

// 创建一个Book对象
Book myBook = new Book('The Great Gatsby', 'F. Scott Fitzgerald', 180);

// 调用类中的方法
String bookInfo = myBook.getBookInfo();

3. 接口(Interface)

接口 定义了一组方法,任何实现该接口的类都必须实现这些方法。接口通常用于确保类具有特定行为。

// 定义一个接口,表示可发送邮件的类必须实现sendEmail方法
public interface EmailSender {
    void sendEmail(String to, String subject, String body);
}

// 实现接口的类必须提供sendEmail方法的具体实现
public class EmailService implements EmailSender {
    public void sendEmail(String to, String subject, String body) {
        // 实现发送邮件的逻辑
    }
}


关注 收藏