Spring el Spring EL-调用静态接口方法

Spring el Spring EL-调用静态接口方法,spring-el,Spring El,有没有办法在SpEL中调用静态接口方法? 例如: T(java.util.stream.IntStream).of(new Integer[]{1,2,3}).sum() 当我运行此命令时,我得到以下错误:在类java.lang.class上定位类型的方法时出现问题它需要是“T(java.util.stream.IntStream).of(new int[]{1,2,3}).sum()” (int[]非Integer[]) 问题是有2个of()方法,需要从Integer[]进行转换,因此 原因

有没有办法在SpEL中调用静态接口方法? 例如:

T(java.util.stream.IntStream).of(new Integer[]{1,2,3}).sum()
当我运行此命令时,我得到以下错误:
在类java.lang.class上定位类型的方法时出现问题

它需要是
“T(java.util.stream.IntStream).of(new int[]{1,2,3}).sum()”

int[]
Integer[]

问题是有2个
of()
方法,需要从
Integer[]
进行转换,因此

原因:org.springframework.expression.spel.SpelEvaluationException:EL1033E:of的方法调用不明确,支持的类型转换允许多个变量匹配


您缺少向我们显示更多堆栈跟踪:

Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1033E: Method call of 'of' is ambiguous, supported type conversions allow multiple variants to match
at org.springframework.expression.spel.support.ReflectiveMethodResolver.resolve(ReflectiveMethodResolver.java:211)
它无法通过反射在运行时解析正确的方法,因为
IntStream
中有几个
of()
方法

这对我很有用:

ExpressionParser parser = new SpelExpressionParser();
Expression expression = parser.parseExpression("T(java.util.stream.IntStream).of(1,2,3).sum()");

assertThat(expression.getValue()).isEqualTo(6);
我开了一家商店。