先日、Vert.x先物で奇妙な問題が発生しましたが、コードを壊すことはありませんが、まだ気になります。次の警告のパラメータ結果なしVert.x java List <Futures>パラメータ化
未来:
今後は、生タイプです。ジェネリック型の未来への参照パラメータを追加します
パラメータ化する必要があり、問題が解決:
Future<YourClassName> future = ...
先物のリストを扱うとき、あなたはまた、うまくそれをパラメータ化することができます
List<Future<YourClassName>> future = ...
を
しかし、CompositeFuture.all()
はパラメータ化されたリストを扱えないようで、パラメータを削除する必要があります。
先物のパラメータ化されたリストをCompositeFuture
で処理する方法はありますか、その警告を無視するだけですか?それは何も壊すことはありませんが、まだその警告を取り除くための解決策を見いだすのはいいでしょう。
をあなただけunparameterized 1にあなたのリストをキャストすることができます: 'CompositeFuture.all((List)future)'?おそらく、キャスト中に警告が表示されますが、少なくともメソッド呼び出しの外側には、リストにはパラメータ化されたFuturesが含まれます。それ以外に、私はVert.xの開発者と連絡を取り合い、すべてのメソッドのメソッドシグネチャを変更してList > –
@ 911DidBushを受け入れることを検討するかどうかを尋ねることしかできません。 List>からList 'にキャストできません)、それがうまくいっても、問題を1つの場所から別の場所に移動するだけです。 –
Rauno
あなたはそうです。私はそれがうまくいけば前にチェックしておくべきだった。キャストの代わりにコピーコンストラクタを使って 'CompositeFuture.all(new ArrayList(future))'に変換することができます。もちろんこれはあなたにはあまり意味がありませんが、少なくとも.all呼び出しの外でListを完全にパラメータ化し、型の安全性を保持することができます。たぶん誰か他の人が別のアイデアを持っているかもしれませんが、vert.xがそのメソッドのシグネチャを変更しない限り、コード内のある時点で生のタイプ+警告を持つ必要があります。 –