我已经为Json编写了一个java代码,同时从一个页面属性中删除了一个来自Latitude页面的Sting值error
:java.lang.ClassCastException.
我在这里使用ValueMap
如果它包含该纬度值,那么我必须将它存储在Double中。代码示例
import org.apache.sling.api.resource.ValueMap
private static final String G_LAT = "37.7608337";
protected ValueMap pageProp;
Double lat = null;
if(pageProp.containsKey(G_LAT))
lat = (Double) pageProp.get(G_LAT); // Getting an exception here
感谢您的帮助!
答案 0 :(得分:0)
您可以使用Double.parseDouble()将String变量转换为double。
String str="2.036"
Double d=Double.parseDouble(str);
答案 1 :(得分:0)
这似乎是一个演员异常请参考以下网址
java.lang.Long cannot be cast to java.lang.Double
你可以试试这个。 lat =(Double)pageProp.get(G_LAT,long);
get方法返回一个Object,它将被强制转换为Double,这是一个缩小操作。因此,在将对象转换为Double之前,尝试将对象转换为long。