РедактироватьПочему существует класс Void?
Это прежде всего вопрос о том, почему класс существует, а не обыкновения класса. Вопрос Uses for the Java Void Reference Type? фокусируется на фактических обычаях, где этот вопрос требует обоснования его реализации.
Java имеет коробочную класс Void
для ключевого слова типа возвращаемого void
.
Из документов:
Класс Пустоты является uninstantiable класса заполнителя содержать ссылку на объект класса, представляющего пустоту ключевого слова Java.
Единственная ситуация, я видел этот класс используется с обобщениями, например, следующее:
interface Foo<R> {
R foo();
}
Foo<Void> foo = new Foo<Void>(){
@Override
public Void foo() {
return null; // `return;` and `return void;` are syntax errors
}
}
Примером этого является андроида AsyncTask
.
Приведенный выше пример кажется совершенно бессмысленным, так как метод делает не возврата void
, он всегда будет возвращать null
.
Так скажите мне, Почему Void
есть?
кто downvoted, не прочитав question..I думаю, этот вопрос заслуживает ответа –
Хм ... У этого вопроса не было ответов с действительно полезными примерами. Думаю, это просто потому, что там. – azz