リストに将来のタスクが含まれていて、将来の型が不明なので、ワイルドカード type を使用してリストを作成しました?
が、リストに要素を追加するとコンパイル エラーが発生します。
これはコードです:
private List<Pair<String, Future<?>>> futureTasks = Collections.synchronizedList(
new ArrayList<Pair<String, Future<?>>>(8));
// taskId is a string
futureTasks.add(Pair.makePair(taskId, getExecutors().submit(
new Callable<String>() {
public String call() {
try {
return exportAccountSrcTask(tmpFile); // return a string
} catch (Exception e) {
logger.error("failed to export account src", e);
}
return null;
}}))
);
コンパイラ エラー:
add(Pair<String,Future<?>>)
型のメソッドList<Pair<String,Future<?>>>
は引数に適用できません(Pair<String,Future<String>>)