The following code gives me compile-time errors: missing return value and missing return statement, what value would I return for this Void Type
?
JavaScript
x
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.
JavaScript
/**
* 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:
JavaScript
protected Void doInBackground() throws Exception {
// some code
if (something) {
return null;
}
return null;
}