Groovy:无法强制转换对象';空';类';空';到类';双倍';。试试';java.lang.Double';相反
我为一个只接受groovy进行定制的系统编写了这段代码,但每次我尝试提交表单时,它都会返回以下错误: 无法将类为“null”的对象“null”强制转换为类为“double”。请改为使用“java.lang.Double”Groovy:无法强制转换对象';空';类';空';到类';双倍';。试试';java.lang.Double';相反,java,groovy,Java,Groovy,我为一个只接受groovy进行定制的系统编写了这段代码,但每次我尝试提交表单时,它都会返回以下错误: 无法将类为“null”的对象“null”强制转换为类为“double”。请改为使用“java.lang.Double” 试试看{ double valorOriginal=(double)fieldChanges.getFieldChange(MetafieldIdFactory.valueOf(“customFlexFields.rateCustomDFF\u rate\u amount\u
试试看{
double valorOriginal=(double)fieldChanges.getFieldChange(MetafieldIdFactory.valueOf(“customFlexFields.rateCustomDFF\u rate\u amount\u original”)?.newValue;
double porcentagem=(double)fieldChanges.getFieldChange(MetafieldIdFactory.valueOf(“customFlexFields.rateCustomDFF_descon_percentual”)?.newValue;
double rateAmount=fieldChanges.getFieldChange(MetafieldIdFactory.valueOf(“rateAmount”))?.newValue;
布尔FlagDescon=(布尔)fieldChanges.getFieldChange(MetafieldIdFactory.valueOf(“customFlexFields.rateCustomDFF_flag_Descon_percentual”)?.newValue;
如果(陶瓷宝石>=100)
抛出BizFailure.createProgrammingFailure(“描述nao pode ser igual ou superior a 100!”);
如果(valorOriginal==null | | valorOriginal double是一个基元类型。基元类型不能像stultuske说的那样为null。请尝试使用double
而不是double
。
try {
double valorOriginal = (double) fieldChanges.getFieldChange(MetafieldIdFactory.valueOf("customFlexFields.rateCustomDFF_rate_amount_original"))?.newValue;
double porcentagem = (double) fieldChanges.getFieldChange(MetafieldIdFactory.valueOf("customFlexFields.rateCustomDFF_desconto_percentual"))?.newValue;
double rateAmount = fieldChanges.getFieldChange(MetafieldIdFactory.valueOf("rateAmount"))?.newValue;
boolean flagDesconto = (boolean) fieldChanges.getFieldChange(MetafieldIdFactory.valueOf("customFlexFields.rateCustomDFF_flag_desconto_percentual"))?.newValue;
if (porcentagem >= 100)
throw BizFailure.createProgrammingFailure("Desconto nao pode ser igual ou superior a 100!");
if (valorOriginal == null || valorOriginal <= 0)
throw BizFailure.createProgrammingFailure("Favor informar o valor original");
if(flagDesconto == true){
rateAmount = valorOriginal - (valorOriginal * porcentagem)/100;
}
}catch(Exception ex){
throw BizFailure.createProgrammingFailure(ex.getMessage().toString());
}