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; }