Caused by: java.util.concurrent.ExecutionException: java.lang.ClassCastException: org.json.JSONObject cannot be cast to NCRB_GUIs.DeviceGroupManager.FetcherForms.Serializable_JSONObject
我的Serializable_JSONObject定义为:
import java.io.Serializable;
import org.json.JSONObject;
public class Serializable_JSONObject extends JSONObject implements Serializable{}
我不确定为什么我收到此错误。这是抛出异常的代码......
@Override
public ReturnInterface<Serializable_JSONObject> call() throws Exception {
CredentialInterface ci = (CredentialInterface) this.taskDeployInterface;
JSONObject READ_NO_VALIDATION = WebGet.READ_NO_VALIDATION(ci.getUser(), ci.getPassword(), new URL(ci.getHost()));
Serializable_JSONObject o = (Serializable_JSONObject) READ_NO_VALIDATION;//Error thrown here
this.returnItem = o;
return this;
}
答案 0 :(得分:1)
我认为这个问题正在发生,因为WebGet.READ_NO_VALIDATION(ci.getUser(), ci.getPassword(), new URL(ci.getHost()));
代码行重新构建了JsonObject
而不是Serializable_JSONObject
的对象,而Serializable_JSONObject
是JsonObject
的子类你不能将JosnObject的对象转换为子类对象。您可以通过READ_NO_VALIDATION.getClass()
调试READ_NO_VALIDATION是哪个类的对象。