java - 有谁知道 内部类的方法的局部变量怎么传给外部类同时让别的类能通过类名直接调用静态方法return出去?
大家讲道理
大家讲道理 2017-04-17 17:11:58
[Java讨论组]
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(4)
迷茫

首先这里你访问网络用的是异步请求,那么你调用的时候就不可能同步的拿到值。要么使用OKHTTP的同步访问网络的方式,网络访问完毕后才去返回值,那么就能拿到正确的值,要么就自己控制异步时获得值,比如在网络请求结束后才去获得值,就是进入response后才去做操作。

伊谢尔伦

这里不直接写内部类,而是让当前类继承该接口,在重写的方法中将值赋予当前类的变量。这是我的想法

PHPz

getAsyn方法从名字来看是一个异步方法,你的getUrl在它收到响应之前就会返回,所以无法得到响应中的值。有2种解决办法:

  1. 看看OkHttpClientManager有没有同步方法

  2. 如果非要使用异步方法,可以在getUrl中发送异步请求之后用休眠或循环的方式等待,直到parseJson有值再返回。这样其实是变相地把异步变成了同步。

高洛峰

个人感觉1楼说的挺对的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号