0
  • 最佳答案

    lombok的问题,实体类不要用lombok,用idea的快捷键来生成get set 即可

    1314408005793603584  评论     打赏       ccTyL
    • 我好久没写android了,记得不太清楚了。我记得body好像只可以获取一次。

      1153952789488054272  评论     打赏       拉大锯
      • 断点-含光君  回复 @拉大锯
        类型不同,强转出错很正常,这里强准应该和body().string之间没关系的
        断点-含光君 2021-11-26 03:23:31   回复 1139423796017500160
      • 拉大锯  回复 @断点-含光君
        这个是啥bean就转啥就好了。但是那个body的,我忘记是什么框架的确是只能获取一次的。
        拉大锯 2021-11-26 03:25:45   回复 1153952789488054272
      • 断点-含光君  回复 @拉大锯
        就是okhttp,调用string之后整个流会close,如果再次调用就会抛异常
        断点-含光君 2021-11-26 03:27:51   回复 1139423796017500160
      • A lonely cat  回复 @拉大锯
        OkHttp 因为读完之后就关流了 如果想读多次 可以 clone 一份出来用
        A lonely cat 2021-11-26 05:07:42   回复 1204736502274318336
    • 看了下okhttp代码,response.body().定义类型:ResponseBody
      t它继承:Closeable,
      
      n你强制把它转为HttpResponse,这肯定不行的。除非他是ResponseBody的子类吧
      
      r如果ResponseBody是你自己创建的新的类型,那就更加不能了。他们都没有任何关系,不可能转过来的。
      


      我猜你的需求是,json转对象,也就是java bean。可能ResponseBody就是你的创建的bean吧。


      你要做的是json转bean,可以使用Gson工具做这个事情。可以了解下Gson,狗剩这个工具。



      1139423796017500160  评论     打赏       断点-含光君
      • ccTyL  回复 @断点-含光君
        不是的response.body()返回的是Object类型。我现在是请求成功了,拿到了返回值,要把他转换成我自己的 HttpResponse对象 我看网上都是直接转换的,不知道我这里为啥就不行
        ccTyL 2021-11-26 03:27:48   回复 1314408005793603584
      • 断点-含光君  回复 @ccTyL
        我猜你说网上能转是因为用了implementation 'com.squareup.retrofit2:converter-gson:2.9.0',在创建client的时候接入了converter,这样才会自动转换。你抄代码没有抄对吧。
        断点-含光君 2021-11-26 03:29:34   回复 1139423796017500160
      • 断点-含光君  回复 @ccTyL
        如果接了converter-gson,是可以直接转的,框架内部帮你转
        断点-含光君 2021-11-26 03:30:05   回复 1139423796017500160
      • ccTyL  回复 @断点-含光君
        我用了converter-gson。和retrofit一起导入的
        ccTyL 2021-11-26 04:20:24   回复 1314408005793603584
      • ccTyL  回复 @断点-含光君
        解决了,发现是lombok的问题...... 折腾老半天了
        ccTyL 2021-11-26 05:02:19   回复 1314408005793603584
      • A lonely cat  回复 @ccTyL
        解决了 你得选个最佳答案呀 实在没有 你就自己开一个回复 选自己的答案😀
        A lonely cat 2021-11-26 05:10:29   回复 1204736502274318336
      • A lonely cat  回复 @断点-含光君
        狗剩 可还行😂
        A lonely cat 2021-11-26 05:10:58   回复 1204736502274318336
      • ccTyL  回复 @A lonely cat
        好家伙,学到了,还能这样
        ccTyL 2021-11-26 05:46:29   回复 1314408005793603584
      • A lonely cat  回复 @ccTyL
        嗯呢
        A lonely cat 2021-11-26 06:10:56   回复 1204736502274318336
      • 断点-含光君  回复 @ccTyL
        这个bug已经修复了,如果把答案给自己,b直接扣除,是不会返还给你的。避免了别人解答了,但是你自己又给自己回答做解答,不给回答的人的bug
        断点-含光君 2021-11-26 06:30:51   回复 1139423796017500160
      • ccTyL  回复 @断点-含光君
        提问的时候币就已经扣掉了啊
        ccTyL 2021-11-26 06:40:10   回复 1314408005793603584
    • 是因为你HttpResponse需要传一个泛型的类型吧,然后你强转后你的T就是空的

      1274616357299712000  评论     打赏       独孤求学
      • ccTyL  回复 @ 独孤求学
        传了泛型也不行
        ccTyL 2021-11-26 03:28:02   回复 1314408005793603584
      • 独孤求学  回复 @ccTyL
        HttpResponse body = new HttpResponse<response.body()>,这样能行吗
        独孤求学 2021-11-26 03:31:53   回复 1274616357299712000
      • ccTyL  回复 @ 独孤求学
        哪有这种写法的啊。泛型类型我是确定的
        ccTyL 2021-11-26 04:19:48   回复 1314408005793603584
    相关问题
    _empty · Android
    2019-10-20 23:51 628 2
    application · Android
    2019-11-05 00:26 779 2
    三流废物 · android / 小白
    2019-11-22 00:35 1067 5
    豪豪好嘛 · Android / GPS
    2019-11-26 20:15 884 5
    Jian · android
    2019-11-28 01:51 615 2
    2019-12-01 01:01 705 2
    小陈学编程 · Android
    2019-12-01 19:08 633 2
    fkinggod · Android
    2019-12-08 09:19 661 5
    fkinggod · Android
    2019-12-08 20:47 610 2
    kissmyass · Android
    2019-12-09 07:08 537 2
    独一无二的名zi · Android
    2019-12-30 06:48 415 2