StringUtils isNumeric returns true when input is “???”, why?
本问题已经有最佳答案,请猛点这里访问。
我在读commons.apache.org
1 | StringUtils.isNumeric("???") = true; |
我不知道为什么
"?" 被认为是Unicode数字。- 它是某种正则表达式模式
我通过查看isNumeric方法的StringUtils源代码找到了这个问题的答案。在源代码中,该行显示为:
1 | StringUtils.isNumeric("\u0967\u0968\u0969") = true |
其中U0967、U0968、U0969分别是Devangari数字1、2和3。这可能是浏览器问题,导致在API中无法正确呈现字符。
看看代码,例子是
1 | StringUtils.isNumeric("\u0967\u0968\u0969") = true |
所以它们是数字!