15

次のコードでは、コンパイル時にエラーが発生します: 戻り値がありません。また、return ステートメントがありませVoid Typeん。

final SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
    @Override
    protected Void doInBackground() throws Exception {
        // some code
        if (something) {
            return;
        }
    }
}
4

2 に答える 2

30

Voidではないのでvoid、何も返したくない場合は void 型に変更してください。

void はクラス、void は型です。

/**
 * 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
 */

必要に応じて、最後にステートメントVoidを追加する必要があります。return

例:

protected Void doInBackground() throws Exception {
    // some code
    if (something) {
       return null;
    }
    return null;
}
于 2012-12-06T17:57:43.047 に答える
1

これをチェックして。Void単純ではなく大文字の「V」で返すように求めますvoid

final SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
    @Override
    protected Void doInBackground() throws Exception {
        // my code here
        return null;
    }
}
于 2012-12-06T18:02:20.687 に答える