📅  最后修改于: 2023-12-03 15:05:00.279000             🧑  作者: Mango
在 Salesforce 的 Apex 编程中,我们经常需要对对象进行循环遍历,并访问其中的字段值。本文将介绍几种常见的方法,帮助程序员更加方便地处理对象字段。
SObject 对象是 Salesforce 对象的基础类,我们可以通过使用它的 get 方法,来访问对象的字段值。示例代码如下:
// 假设我们需要访问 Account 对象的 Name、Industry、Revenue 字段
List<Account> accounts = [SELECT Name, Industry, Revenue FROM Account];
for (Account account : accounts) {
String name = (String) account.get('Name');
String industry = (String) account.get('Industry');
Decimal revenue = (Decimal) account.get('Revenue');
// 对字段值进行处理,比如打印到控制台
System.debug('Name: ' + name);
System.debug('Industry: ' + industry);
System.debug('Revenue: ' + revenue);
}
需要注意的是,get 方法返回的是 Object 类型,需要进行强制类型转换。
除了通过 get 方法获取字段值以外,我们还可以使用 SObject 对象的字段 API 名称来访问字段值。示例代码如下:
// 假设我们需要访问 Account 对象的 Name、Industry、Revenue 字段
List<Account> accounts = [SELECT Name, Industry, Revenue FROM Account];
for (Account account : accounts) {
String name = account.Name;
String industry = account.Industry;
Decimal revenue = account.Revenue;
// 对字段值进行处理,比如打印到控制台
System.debug('Name: ' + name);
System.debug('Industry: ' + industry);
System.debug('Revenue: ' + revenue);
}
这种方法更加简洁,但需要注意的是,使用字段 API 名称只能访问已经在查询中选择的字段。
SObjectDescribe 类可以帮助我们获取对象的详细信息,包括字段信息。我们可以使用其 get字段方法来获取字段值。示例代码如下:
// 获取 Account 对象的描述信息
Schema.DescribeSObjectResult describe = Account.sObjectType.getDescribe();
// 获取 Account 对象的所有字段信息
Map<String, Schema.SObjectField> fields = describe.fields.getMap();
// 假设我们需要访问 Account 对象的 Name、Industry、Revenue 字段
List<Account> accounts = [SELECT Name, Industry, Revenue FROM Account];
for (Account account : accounts) {
String name = (String) account.get(fields.get('Name').getDescribe().getName());
String industry = (String) account.get(fields.get('Industry').getDescribe().getName());
Decimal revenue = (Decimal) account.get(fields.get('Revenue').getDescribe().getName());
// 对字段值进行处理,比如打印到控制台
System.debug('Name: ' + name);
System.debug('Industry: ' + industry);
System.debug('Revenue: ' + revenue);
}
需要注意的是,这种方法可以访问所有字段,不受查询中选择的字段的限制。
以上就是 Salesforce Apex 循环遍历对象字段的一些常见方法,开发者可以根据实际情况选择适合自己的方法来处理对象字段。