我有一个关于java中异步方法调用的问题,特别是关于异步方法的响应值。
情况如下:
我要调用的异步方法是..
public void getSpeed(IResponseListener listener) {
....
}
监听器的界面是...
interface IResponseListener {
public void response(ResponseEvent event);
}
当异步方法有响应值时调用此方法
我现在的问题是该类ResponseEvent
具有response
可以是任何类型的属性(boolean,float,String...)
并且在接口的实现中IResponseListener
我必须强制转换值......
IResponseListener listener = new IResponseListener {
public void response(ResponseEvent event) {
float f = (float)event.response;
}
}
这是处理这个问题的好方法吗?我认为不好的是响应侦听器必须知道响应的类型!是否有更好的解决方案来处理想要给出响应的异步调用,即使响应可以是任何类型?