gpt4 book ai didi

java - 为什么 Spring @Value 注解的 String 变量得到的是 float 值?

转载 作者:行者123 更新时间:2023-11-29 09:26:32 25 4
gpt4 key购买 nike

我有一个springbok项目,在application.yml文件中,有一个值

account-number: 060018242251

在 Bean 中,我们有

@Value('${account-number}')
String account

account 变量被赋值为“6.0018242251E10”而不是“060018242251”,有什么问题以及如何处理?

最佳答案

在解析 YAML 文件时,相应的解析器(在您的情况下可能是 SnakeYAML)已经确定了数据类型。由于它对于 Integer 来说太大了,它会将其视为 Double。

当注入(inject)值时,Spring 意识到您想要一个 String,但只存在一个 Double Value。因此,将调用 toString()-方法,您会以上述符号接收它。

如果您希望在解析 YAML 时该值是一个字符串,您应该使用引号。

顺便说一句@Prashant 八进制符号不会影响 YAML(或 SnakeYAML),前导 0 会被简单地忽略。

关于java - 为什么 Spring @Value 注解的 String 变量得到的是 float 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57950824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com