1.故事背景
为了更方便进行调控配置,将某些值设置在yml文件中,方便管理。
我们来看一下原先的配置情况如下图:
然后我们在运行时看一下所取到的值为:
2. 原因
我们通过查看源码可以发现原来这么写会被认为是八进制的数值,它会自动转换成十进制。
我们打开ConstructYamlInt
类,可以看到以下这段代码:
我们发现如果是+
、-
、0
、0b
、0x
、:
的字符会被特殊处理掉。
3.解决方法
我们再看一下运行时的结果。
解决方法:在值前后加上引号即可。如上上图中所示。