Tôi muốn viết một phương thức không đồng bộ trả về số CompletableFuture
. Mục đích duy nhất của tương lai là theo dõi khi phương pháp hoàn thành, không phải kết quả của nó. Sẽ tốt hơn nếu trả lại CompletableFuture<Void>
hoặc CompletableFuture<?>
? Có lý do nào để thích cái này hay cái kia, hay chúng có thể hoán đổi cho nhau?Trả lại hoàn tấtFuture <Void> hoặc CompletableFuture <?>?
CompletableFuture
chính nó trả vềCompletableFuture<Void>
từ nhiều phương pháp của nó.java.nio
cóFuture<Void>
trongAsynchronousSocketChannel
:Future<Void> connect(SocketAddress remote)
.- Mặt khác,
java.util.concurrent
các lớp như vàScheduledExecutorService
trả vềFuture<?>
: ví dụ:Future<?> submit(Runnable task)
.
Lưu ý rằng tôi chỉ hỏi về các loại trả về, không phải danh sách tham số, khai báo biến hoặc ngữ cảnh khác.
Tôi tìm thấy Tương lai rõ ràng hơn: nó giải thích rằng tương lai là tương lai của không có gì. Tương lai > nói rằng đó là một tương lai của một cái gì đó không rõ. –
Xem nhận xét về Java 6 đến Java 7 thay đổi, [ở đây] (http://stackoverflow.com/a/12962219/438154). –