Expanding sObject & List Expressions

DEX455 - Apex sObject 集合完整指南

📄 第 198 页 🎬 视频课程

课程章节介绍

各位同学,今天咱们聊一个让代码变得更简洁的小技巧——用方法引用和列表表达式来玩转 sObject。 你之前可能写过这样的代码:查询返回一个列表,然后取第一个,再拿它的某个字段,最后调字段的方法。比如取联系人名字的大写形式,通常要分好几步,又拆变量又拆方法。但 Apex 其实支持把它们串成“一条龙”,写在一行里,就像搭积木一样。 我们来看这个神奇的链式写法:你直接 new 一个只包含一个 sObject 的列表,后面紧接着用 [0] 拿到那个元素,点出字段,最后再点出字段的方法。比如: `new List{ myContact }[0].Name.toUpperCase();` 这行代码干了四件事:创建列表、取第一个元素、访问 Name 字段、把名字变成大写。一步到位,紧凑又清晰。 这就是列表表达式扩展的威力。你可以在创建列表的同时就做索引访问,然后再钻到字段和方法里去。这特别适合在查询后要快速拿某个值做转换的场景,省掉临时变量,代码看起来也更有表达力。 当然,这种写法容易让人眼花缭乱,所以建议只用在简单的取值转换上。它背后的原理还是那个规则:表达式可以嵌套,列表初始化本身就是一个表达式,接着当然可以继续点操作符。 总之,记住这个套路:new List{…}[0].字段.方法(),它让你的代码从“平铺直叙”变得像一句精巧的口诀。以后写 Apex 时,可以试着用起来,会让同行觉得你代码很老道。 好,这一小节就到这里,我们下节继续聊聊其他省心表达式。

关键词

Apex Salesforce Developer Guide