Salesforce Apex中主控制器为包装类内部类的列表属性赋值的方法
Salesforce Apex 包装类属性赋值实现方案
你可以参考以下代码在主控制器中完成属性赋值,每步操作均有注释说明逻辑:
public class DemoController { public void operateWrapperProperty() { // 实例化外层DemoWrapper的内部类SomeActivity,内部类调用需加外层类名前缀 DemoWrapper.SomeActivity activityIns = new DemoWrapper.SomeActivity(); // 先初始化abcClass列表属性,否则后续添加元素会触发空指针异常 activityIns.abcClass = new List<DemoWrapper.ABC>(); // 实例化ABC内部类,为各属性赋值 DemoWrapper.ABC abcIns = new DemoWrapper.ABC(); abcIns.subject = '售后跟进'; abcIns.status = '进行中'; abcIns.callDate = '2024-06-10'; // 将单个ABC实例添加到abcClass列表中 activityIns.abcClass.add(abcIns); // 批量添加多个ABC实例场景示例 List<DemoWrapper.ABC> abcList = new List<DemoWrapper.ABC>(); for(Integer i = 1; i <= 3; i++){ DemoWrapper.ABC tempAbc = new DemoWrapper.ABC(); tempAbc.subject = '批量客户跟进_' + i; tempAbc.status = i == 2 ? '已完成' : '待处理'; tempAbc.callDate = '2024-06-' + (10 + i); abcList.add(tempAbc); } // 批量将整个集合赋值给abcClass activityIns.abcClass.addAll(abcList); // 后续可正常使用activityIns对象的abcClass属性做业务处理 } }
注意要点
- 访问包装类的内部类时,必须使用
外层类名.内部类名的格式定位类 - 列表类型的属性使用前必须手动初始化,不能直接调用
add()方法 - 单个元素添加用
add()方法,批量添加集合用addAll()方法
内容的提问来源于stack exchange,提问作者Sayanton Sadhu
相关产品推荐
相关产品推荐

