If one needs return a Void
type, which Javadoc describes as
A class that is an uninstantiable placeholder class to hold a reference to the Class object representing the Java keyword void.
Why does the following still require null
to be returned?
public Void blah() {
return null; // It seems to always want null
}
Void
is a class like any other, so a function returning Void
has to return a reference (such as null
). In fact, Void
is final
and uninstantiable, which means that null
is the only thing that a function returning Void
could return.
Of course public void blah() {...}
(with a lowercase v
) doesn't have to return anything.
If you're wondering about possible uses for Void
, see Uses for the Java Void Reference Type?