Я хочу иметь возможность разыграть CompletableFuture<?>
, чтобы сказать CompletableFuture<String[]>
, если определенный метод возвращает String[]
Итак, у меня есть CompletableFuture<?>
из очереди, и я хочузнаю, как правильно разыграть его без необходимости всегда проверять мой конкретный случай
Это то, что у меня сейчас ...
CompletableFuture<?> cb = cbQueue.poll();
switch(subChannel) {
case "GetServers":
((CompletableFuture<String[]>) cb).complete(in.readUTF().split(", "));
break;
}
Но вместо этого я хочу иметь возможность просто писать...
CompletableFuture<?> cb = cbQueue.poll();
switch(subChannel) {
case "GetServers":
complete(cb, in.readUTF().split(", "));
break;
}
И он будет соответствующим образом приведен в соответствии с переданным типом (в данном случае, String []). Это потому, что у меня много контрольных случаев, и мне просто любопытно, что я ненужно излишне разыграть