java - 在 Spring 表达式语言中将随机数转换为整数

标签 java spring spring-el

我正在使用 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/

相关文章:

java - 具有多个连接的 HQL 查询

java - INSTALL_FAILED_MISSING_SHARED_LIBRARY 导致应用无法安装

spring - 如何在 Vaadin 应用程序中处理发布请求?

java - 如何运行 junit 集成测试 - 禁用任何数据库层?

spring-batch - 如何使用spring-boot在spring批处理中设置JobParameters

java - 当weblogic服务器启动时调用java主类

java - 如何让鼠标悬停时圆圈改变颜色

java - Hibernate : Infinite recursion, 如何解决?

java - ENUM : EL1043E: Unexpected token. 中的 Thymeleaf 下拉菜单预期为 'rparen())' 但实际为 'lparen(()'

java - 如何获取包含占位符的属性的原始值?