ich würde versuchen, einen JSONparser für gwt zu schreiben.Java - ClassCastException auf downcast
Dazu verwende ich die lib org.json auf der Serverseite und die com.google.gwt.json.client auf der Client-Seite.
Ich baue einige Schnittstellen, um diese zwei lib mit den gleichen Methoden zu nennen.
Ich benutze:
public class JSONObject extends com.google.gwt.json.client.JSONObject implements IJSONObject
{
...
}
und
public class JSONObject extends org.json.JSONObject implements IJSONObject
{
...
}
So funktioniert es wie ein sharm, aber es gibt eine Sache, die ich nicht bekommen würde.
Client-side:
JSONParser.parseLenient(sJson).isObject()
Rückkehr ans Objekt von Typ: "com.google.gwt.json.client.JSONObject"
Und ich versuche, diese zu meinen benutzerdefinierten JSONObject zu werfen und eine ClassCastException erhalten.
Mein benutzerdefiniertes JSONObject erstreckt sich von com.google.gwt.json.client.JSONObject und implementiert mein IJSON-Objekt.
Also wenn ich das Objekt nicht werfen kann, kann ich die Schnittstelle nicht benutzen.
Danke
Nur weil diese Methode einen Verweis auf die übergeordnete Klasse zurückgibt bedeutet es Ihrer Unterklasse ist auch ein. –
Aber ich weiß es ist: P Ich fügte nur Methoden nicht Attribute – Flo
Welcher Teil dieses Codes: 'JSONParser.parseLenient (sJson) .isObject()' verwendet Ihre benutzerdefinierte Klasse? –