spring boot 配置文件配置项 数字特殊处理问题

学习来源:

spring boot 配置文件配置项 数字特殊处理问题

https://blog.csdn.net/Cancer_pmx/article/details/88848542

开发中自定义参数配置:

test:
  publicKey: 0201

通过代码读取如下:

@Value("${test.publicKey}")
private String publicKey;

结果取出来的值是:129。

查找了很久,终于找到问题的原因:

该数值配置前缀0,会被特殊处理,当做八进制数处理成129

分析源码可知:
1、以0b开头的数字,会被当做二进制数处理
2、以0x开头的数字,会被当做十六进制数处理
3、以0开头的数字,会被当做八进制数处理

test:
  publicKey: "0201"

额外补充:

我自己遇到的问题是长数字字符串被科学计数法了,同样通过引号的模式可以解决!

posted @ 2021-03-11 09:11  教长  阅读(628)  评论(0编辑  收藏  举报