Ich habe einen Code für Java nach Json geschrieben, während ein Sting-Wert von einer Seite abgerufen wird, die Latitude von einer Seite Eigenschaften wirft ein error
: java.lang.ClassCastException.
Hier verwende ich ValueMap
, wenn es diesen Breitenwert enthält, dann muss ich es in Double speichern. Das Codebeispiel istjava.lang.ClasscastException: java.lang.Long kann nicht in java.lang.Double umgewandelt werden
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
Vielen Dank für jede Hilfe!
Um schlechte Cast zu vermeiden, können Sie in 'java.lang.Number' umwandeln, wenn' java.lang.Long' von 'java.lang.Number' erbt. Verwenden Sie dann die Methode 'doubleValue()' für die abgerufene Zahl. – cardman
Können Sie bitte einige Syntax geben – User
'Long longLat = (Long) pageProp.get (G_LAT);' lat = longLat.doubleValue(); ' – cardman