The void keyword specifies that a method should not have a return value.
void is a Java keyword. Used at method declaration and definition to specify that the method does not return any type, the method returns void .
A void return type simply means nothing is returned. System. out. println does not return anything as it simply prints out the string passed to it as a parameter.
Void methods do some action (called a side-effect); they do not return any value; Type methods return some value; they do not do an action. Examples of void methods include output methods such as: outputInt, outputDouble, outputString, outputlnInt, etc.
Void
has become convention for a generic argument that you are not interested in. There is no reason why you should use any other non-instantiable type, such as System
.
It is also often used in for example Map
values (although Collections.newSetFromMap
uses Boolean
as maps don't have to accept null
values) and java.security.PrivilegedAction
.
You can create instance of Void using reflections, but they are not useful for anything. Void is a way to indicate a generic method returns nothing.
Constructor<Void> constructor = Void.class.getDeclaredConstructor();
constructor.setAccessible(true);
Void v = constructor.newInstance();
System.out.println("I have a " + v);
prints something like
I have a java.lang.Void@75636731
Future<Void>
works like charm. :)
Given that there are no public constructors, I would say it can't be assigned anything other than null
. I've only used it as a placeholder for "I don't need to use this generic parameter," as your example shows.
It could also be used in reflection, from what its Javadoc says:
The Void class is an uninstantiable placeholder class to hold a reference to the Class object representing the Java keyword void.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With