我有这个顶点批处理类: 下面的 MDU_Squad_Data_min__c 自定义对象在城市和省份列中有很多重复值。 使用下面的代码,我能够在一定程度上借助 contains 方法消除重复项,但仍然存在重复值:
global void execute(Database.BatchableContext BC, List<MDU_Squad_Data_min__c> cities) {
List<sumchans__City_Master__c> cityList = new List<sumchans__City_Master__c>();
List<String> cityProvinceList = new List<String>();
for(MDU_Squad_Data_min__c c: cities) {
String cityprovince;
cityprovince = (c.CITY_NAME__c).trim() + (c.PROVINCE_CODE__c).trim();
if(!cityProvinceList.contains(cityprovince)) {
sumchans__City_Master__c city = new sumchans__City_Master__c();
city.Name = c.CITY_NAME__c;
city.sumchans__PROVINCE__c = c.PROVINCE_CODE__c;
cityList.add(city);
}
cityProvinceList.add(cityprovince);
}
Database.SaveResult[] MySaveResult = Database.Insert(cityList, false);
最佳答案
我建议如下,因为 List.contains 主要用于字符串搜索。
global voidexecute(Database.BatchableContext BC, 列出城市) {
列表城市列表 = new List();
列表城市省列表 = new List();
for(MDU_Squad_Data_min__c c: 城市)
{
弦市省;
城市省 = TRIM(c.CITY_NAME__c) + TRIM(c.PROVINCE_CODE__c);
if(!cityProvinceList.contains(cityprovince)) {
sumchans__City_Master__c city = new sumchans__City_Master__c();
city.Name = c.CITY_NAME__c;
city.sumchans__PROVINCE__c = c.PROVINCE_CODE__c;
cityList.add(city);
}
cityProvinceList.add(cityprovince);
}
Database.SaveResult[] MySaveResult = Database.Insert(cityList, false);
}
关于Salesforce apex 代码在自定义对象中创建重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59915546/