Salesforce 错误:编译错误:表达式必须是第446行第44列的列表类型:字符串

Salesforce 错误:编译错误:表达式必须是第446行第44列的列表类型:字符串,salesforce,salesforce-lightning,salesforce-communities,Salesforce,Salesforce Lightning,Salesforce Communities,我正在尝试验证salesforce中的保险编号,但我发现以下错误 保险=保险。替换('A','01') 整数和=0; 整数numDigits=insurance.length()-1; 整数cle=parseInt(保险[numDigits],10);====>错误 对于(整数i=0;i错误 如果(数学模型(i,2)!=0){ 数字*=2; } 总和+=数字>9?数字-9:数字; } 如果(数学模型(总和,10)!=cle){ 返回false; }否则{ 返回true; } } 使用substr

我正在尝试验证salesforce中的保险编号,但我发现以下错误

保险=保险。替换('A','01')

整数和=0;
整数numDigits=insurance.length()-1;
整数cle=parseInt(保险[numDigits],10);====>错误
对于(整数i=0;i错误
如果(数学模型(i,2)!=0){
数字*=2;
}
总和+=数字>9?数字-9:数字;
}
如果(数学模型(总和,10)!=cle){
返回false;
}否则{
返回true;
}
}

使用
substring
方法
String
获取索引处的字符

此外,Apex中没有
parseInt
。改用
Integer.valueOf

因此,代码的第一部分应该是

Integer numDigits = insurance.length() - 1;
Integer cle = Integer.valueOf(insurance.substring(numDigits));
参考文献:

Integer numDigits = insurance.length() - 1;
Integer cle = Integer.valueOf(insurance.substring(numDigits));