Зачем в Java нужен класс java.lang.Void?
void.class == Void.TYPE вернет true - таким образом, в большинстве случаев (например, если нужно через рефлексию проверить возвращаемый тип метода) можно (и, на мой взгляд, стоит) использовать void.class - яснее и ненароком не перепутаешь с Void.class. Так что использовать его можно, например, в случаях, когда у вас есть обобщенный класс и вы хотите, чтобы метод ничего не возвращал (т.е. чтобы пользователь класса не ожидал ничего особенного оттуда получить):
interface I<T> {
T doStuff();
}
class A implements I<Void> {
@Override
public Void doStuff() {
// ...
return null; // ничего другого вернуть нельзя (если не хитрить с рефлексией, конечно)
}
}
UPD.
Например, если в проекте регулярно используется Callable<t> для выполнения каких-то асинхронных задач и не хочется мешать его со Thread в тех ситуациях, когда результат работы задачи ничего не должен возвращать, можно реализовать Callable<Void>.
Класс Void - это неинстанциируемый класс-плейсхолдер, содержащий ссылку на Class-объект для ключевого слова void.
Источник: http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Void.html
The Void class is an uninstantiable placeholder class to hold a reference to the Class object representing the Java keyword void.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости