Подтвердить что ты не робот

Отсутствует возвращаемое значение по методу Void?

Следующий код дает мне ошибки времени компиляции: отсутствует возвращаемое значение и отсутствующий оператор return, какое значение я бы вернул для этого Void Type?

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

Ответ 1

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

Ответ 2

Проверьте это. Он просит вернуть Пустоту с пленным V не с простой пустотой

final SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>()
            {
                @Override
                protected Void doInBackground() throws Exception
                {
                // my code here
                   return null;
                }
             };
}