Assignment Statements

DEX455 - 编写 Apex 代码:数据类型、集合、变量与运算符完全参考

📄 第 106 页 🎬 视频课程

课程章节介绍

今天我们来聊聊 Apex 里的“分配陈述”,也叫赋值语句。 简单说,分配陈述就是把一个值放进一个变量里。它的样子通常是一个变量名,后面跟一个等号,再跟上一个新值表达式,或者一个内联的 SOQL 查询结果。 比如,你可以这样写: `Integer i = 5;` 这里把 5 赋给了整数变量 i。 或者你直接写一个查询: `List accounts = [SELECT Id, Name FROM Account];` 这条语句会把从数据库查到的账户列表,直接放进 accounts 这个变量里。 在等号的左边,我们称为 LValue,也就是左值。 左值可以是一个普通的变量,比如 i; 也可以是一个解引用的列表元素,比如 myList[0],代表列表里的第一个位置; 还可以是 sObject 上的字段引用,比如 acc.Name,意思是一个账户记录的名字字段。 这些都能出现在等号的左边,接受一个新值。 这里有个内存管理上很重要的点:Apex 里的列表赋值是“按引用”传递的。 如果我们写出 `List a = new List();` 然后又写 `List b = a;` 那这时候 b 和 a 实际上指向的是内存里的同一份列表数据。 如果你通过 b 往里面添加一个元素,你再去看 a,这个元素也会出现在 a 里面。 因为它们两个引用的是同一块内存。这一点在处理列表时要特别留意,防止意外修改了不该改的数据。 除了最基本的等号,Apex 还提供了很多方便的复合赋值运算符。 比如,`i += 3;` 就相当于 `i = i + 3;` `i *= 2;` 相当于 `i = i * 2;` 还有 `/=、|=、&=`,以及自增 `++` 和自减 `--`。 就像你写 `i++;` 其实就是让 i 的值加 1。 整体来说,这一页就是让你理解赋值语句的各种形式,以及赋值时引用传递的特点。 掌握了这些,你就能在代码里灵活地给变量、列表元素或字段设值,一步一步写出完整的业务逻辑。

关键词

Apex Salesforce Developer Guide