在Java代码中,可以有使用后缀来表示文字类型的数字文字,例如,1D、0.15F或5L分别表示double、float和long。还有对十六进制和八进制表示法的支持,可能还有其他一些我没有提到的东西。
我想要一些与返回Number对象的javac内部使用的解析器等效的解析器。
在DecimalFormat中实现的NumberFormat.parse()似乎只生成Double和Long对象,当使用上面提到的一些表示法时,会有相当多的问题。
在Java6及更高版本的标准类库中,是否有一个解析器能够透明地解析这些字符串并返回Number的正确子类
发布于 2011-12-28 03:33:38
不没有。您必须自己编写此方法。这很简单,只需查看最后一个非空格字符,然后输入一个转换块以返回正确的数字子类。
https://stackoverflow.com/questions/8648420
复制相似问题