Java での非同期メソッド呼び出し、特に async メソッドの応答値について質問があります。
状況は次のとおりです。
私が呼び出したい非同期メソッドは..
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;
}
}
これはこれを処理するための良い解決策ですか? 悪いことは、応答リスナーが応答のタイプを知っている必要があることだと思います! 応答が任意のタイプであっても、応答を返したい非同期呼び出しを処理するためのより良いソリューションはありますか?