Double.valueOf(Double.valueOf(json.getString(“latitude”))* 1E6)代替Android Lint Prob

时间:2012-11-30 20:56:26

标签: android google-maps

我收到以下警告:

使用Double.valueOf(Double.valueOf(jsonurl.getString(“latitude”))* 1E6)代替Android Lint问题 使用Double.valueOf(Double.valueOf(jsonurl.getString(“longitude”))* 1E6)而不是

问题解释:你不应该直接调用包装类的构造函数,例如newInteger(42)。而是调用“valueOf”工厂方法,例如Integer.valueOf((42))。这通常会占用更少的内存。 ................

JSONObject e = arr.getJSONObject(i);
    jsonurl = (JSONObject) e.get("data");   


int jsonlng = (new Double(Double.valueOf(jsonurl.getString("longitude")) * 1E6).intValue());

newdata[i] = new GeoPoint(jsonlat,jsonlng);

2 个答案:

答案 0 :(得分:0)

也许:

int jsonlng = (int) (Double.valueOf(jsonurl.getString("longitude")) * 1E6);

那"(new Double(...))。intValue()"没有必要。

答案 1 :(得分:0)

(new Double(Double.valueOf(jsonurl.getString("longitude")) * 1E6).intValue());    

将成为

(Double.valueOf(Double.valueOf(jsonurl.getString("longitude")) * 1E6).intValue());    

没有警告。