【发布时间】:2023-03-29 07:57:01
【问题描述】:
我有一个原语的字符串表示,我的目标是确定它是哪个原语。
我的功能如下:
public Object getPrimitive(String primitiveAsString) {
.....
}
例如,如果输入是“223”,我想返回一个整数,但如果输入是“223.1”甚至是“223.0”(!!),则返回一个双精度数。此外,我想区分浮点数和双精度数,甚至整数和“BigInteger”。
我尝试了使用 NumberFormat 的解决方案,但它对我不起作用....
有没有一种优雅的方法可以做到这一点?
谢谢!
【问题讨论】:
-
不,没有优雅的方法。
-
您需要支持哪些原始类型?
-
如何区分整数的String表示和BigInteger的表示(只要值在MAX_INT和MIN_INT之间)?
-
BigInteger 不是原语。同样,让方法返回
object是没有意义的,而方法的名称是getPrimitive -
而原因(对于那些问过的人)是初始化一个 Map
稍后将由 Gson.toJson(myMap) 解析,结果将发送给客户端.
标签: java primitive number-formatting