我正在从Java中的API读取数据,其中值可以是long
(例如0,3,45等)或double
(例如0.3,4.6,26.8等)
数据来自JSON,并以JSONObject
的形式读入。根据进入的数据,它会产生一个错误或另一个错误。即。 java.lang.Long cannot be cast to java.lang.Double
,反之亦然。
Double myvariable = (Double) ((JSONObject)parentVariable.get("Index"))
如何允许它接受这两种类型并转换为double
?
答案 0 :(得分:3)
如果所有其他方法都失败了,您可以随时使用父类Number
及其方法doubleValue()
。
double myvariable = ((Number) (JSONObject)parentVariable.get("Index"))).doubleValue()