我正在使用 spring schedule 作业,并希望通过输入 initialDelayString = "#{T(java.lang.Math).random() * 10000 }"
随机延迟作业。我可以生成随机数,但该值是一个 long
值(例如 4242.423422432)
如何使用 SpEL 将值转换为 integer
?
最佳答案
首先,根据Math.random()
的返回类型,当前值不是long
,而是double
。 .
此外,您始终可以通过调用 .intValue()
将 Double
转换为 int
,例如:
Double someValue = 2.56;
int nearlyTheSame = someValue.intValue();
System.out.println(nearlyTheSame);
因此您的 Spring 表达式可能是:
#{(T(java.lang.Math).random() * 10000).intValue()}
关于java - 在 Spring 表达式语言中将随机数转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53877803/