3
私はExecutorServiceのと呼び出し可能オブジェクトについて学び、私は、この行のチェックを外す割り当てやっていると言ってintelijから警告を受けるよ:私は正しく割り当てる方法を得ることはありませんExecutorServiceのチェックを外す割り当て
Future<OrderWorker<OfferType>> future = executorService.submit(new OrderWorker<OfferType>(anOfferSet));
を。ここでは、コードです:
ExecutorService executorService = Executors.newCachedThreadPool();
List<Future<OrderWorker<OfferType>>> futures = new ArrayList<>();
for (OfferType anOfferSet : offerSet) {
// the next assignment is unchecked:
Future<OrderWorker<OfferType>> future = executorService.submit(new OrderWorker<OfferType>(anOfferSet));
futures.add(future);
}
注文ワーカー:
public class OrderWorker<I extends OfferType> implements DataWorker {
private Logger log = Logger.getLogger(OrderWorker.class);
private final OfferType offer;
public OrderWorker(I data) {
this.offer = data;
}
public OfferType getOffer() {
return offer;
}
@Override
public Object call() throws Exception {
Thread.sleep(5000);
log.info(offer.getListingPrice().getAmount());
return this;
}
}
DataWorkerインタフェース:
interface DataWorker<I extends OfferType> extends Callable<I> {}
OfferType
は、単純なPOJOクラスです。 - >互換性のない戻り値の型
public class OrderWorker<I extends OfferType> implements DataWorker<I>
これは(コールでOrderWorkerの衝突で呼び出し()を言ってエラーになります)呼び出し可能に:それを実装する場合、私はまたDataWorkerにタイプを与えようと試み
EDIT
私は間違って何をしていますか?課題を確認するためには何が必要ですか?あなたが変更する必要がどのような
私は他の目的のためのインターフェースを使用したいが、 '拡張のようなインターフェースで呼び出し可能な拡張Callable>あなたの説明どおりに動作します!ありがとうございました! –
@ J.Doeの優れたニュース –