The following code gives me compile-time errors: missing return value and missing return statement, what value would I return for this Void Type?
final SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
@Override
protected Void doInBackground() throws Exception {
// some code
if (something) {
return;
}
}
}
Advertisement
Answer
Void is not void, change it to void type if you don’t want to return anything.
Void is a class, void is type.
/**
* The {@code Void} class is an uninstantiable placeholder class to hold a
* reference to the {@code Class} object representing the Java keyword
* void.
*
* @author unascribed
* @since JDK1.1
*/
If you want Void, then you need to add return statement at end.
Example:
protected Void doInBackground() throws Exception {
// some code
if (something) {
return null;
}
return null;
}