1.故事背景
为了更方便进行调控配置,将某些值设置在yml文件中,方便管理。
我们来看一下原先的配置情况如下图:

然后我们在运行时看一下所取到的值为:

2. 原因
我们通过查看源码可以发现原来这么写会被认为是八进制的数值,它会自动转换成十进制。
我们打开ConstructYamlInt类,可以看到以下这段代码:

我们发现如果是+、-、0、0b、0x、:的字符会被特殊处理掉。
3.解决方法

我们再看一下运行时的结果。

解决方法:在值前后加上引号即可。如上上图中所示。
本文探讨了在使用YML文件配置时遇到的一个常见问题,即特定数值被错误地解释为八进制数,导致运行时出现意料之外的结果。文章深入分析了问题根源,并提供了解决方案——通过在数值周围添加引号来避免这一问题。
1092

被折叠的 条评论
为什么被折叠?



