Я столкнулся с этим классом в коде, который я поддерживаю:
new GenericFutureListener<Future<? super Void>>() {...}
Мне очень трудно понять, что это значит. Future
содержащее тип, который является либо Void
либо его суперкласс - Object
. Так почему бы просто не написать Future<Object>
?