Reputation: 1425
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;
}
}
}
Upvotes: 15
Views: 8966
Reputation: 6572
Check this. It asks to return Void
with captital "V" not with simple void
final SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
@Override
protected Void doInBackground() throws Exception {
// my code here
return null;
}
}
Upvotes: 1
Reputation: 66637
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;
}
Upvotes: 32