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