What do I return if the return type of a method is Void? (Not void!)
So what am I supposed to return if the return type of a function has to be
Void
?
Use return null
. Void
can't be instantiated and is merely a placeholder for the Class<T>
type of void
.
What's the point of
Void
?
As noted above, it's a placeholder. Void
is what you'll get back if you, for example, use reflection to look at a method with a return type of void
. (Technically, you'll get back Class<Void>
.) It has other assorted uses along these lines, like if you want to parameterize a Callable<T>
.
Due to the use of generics in Java I ended up in having to implement this function
I'd say that something may be funky with your API if you needed to implement a method with this signature. Consider carefully whether there's a better way to do what you want (perhaps you can provide more details in a different, follow-up question?). I'm a little suspicious, since this only came up "due to the use of generics".
There's no way to instantiate a Void, so the only thing you can return is null.