我编写了一个带有以下签名的 el 函数,它比较了双精度值:
java.lang.Number numberMinimum(java.lang.Number, java.lang.Number)
这甚至可以使用原始数据类型,
但是使用资源包中的值调用它会导致:
java.lang.IllegalArgumentException: Cannot convert 99 of type class java.lang.String to class java.lang.Number
at com.sun.el.lang.ELSupport.coerceToType(ELSupport.java:412)
at com.sun.el.parser.AstFunction.getValue(AstFunction.java:123)
而将参数更改为分配资源值的原始 int 有效?
int intMinimum(int, int)
如果所需的目标是 int 类型但不适用于数字,为什么表达式语言会将其自动转换为 int?