ARouter icon indicating copy to clipboard operation
ARouter copied to clipboard

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to XXBean

Open zyl5721451 opened this issue 3 years ago • 2 comments

生成的类

public class XXDownloadActivity$$ARouter$$Autowired implements ISyringe {
  private SerializationService serializationService;

  @Override
  public void inject(Object target) {
    serializationService = ARouter.getInstance().navigation(SerializationService.class);
    StickerDownloadActivity substitute = (StickerDownloadActivity)target;
    substitute.mainStickerBean = (com.xx.bean.XXBean.InnerXXBean) substitute.getIntent().getSerializableExtra("key_data");
  }
}

jsonService

@Route(path = "/service/json")
public class JsonServiceImpl implements SerializationService {
    Gson gson = new Gson();
    @Override
    public <T> T json2Object(String input, Class<T> clazz) {
//        return JSON.parseObject(input, clazz);
        return gson.fromJson(input,clazz);
    }

    @Override
    public String object2Json(Object instance) {
//        return JSON.toJSONString(instance);
        return gson.toJson(instance);
    }

    @Override
    public <T> T parseObject(String input, Type clazz) {
//        return JSON.parseObject(input, clazz);
        return gson.fromJson(input,clazz);
    }

    @Override
    public void init(Context context) {

    }
}

zyl5721451 avatar Aug 13 '21 09:08 zyl5721451

你看你的 XXBean 是不是实现了 Serializable

xiaoxiaohua333 avatar Nov 17 '21 07:11 xiaoxiaohua333

2024年了,解决了吗兄弟?我也出现了,真的莫名其妙。

qweenhool avatar Apr 10 '24 14:04 qweenhool