Использование return без возвращаемого значения

Есть код:

private void showResult() {
        if (mt == null) return;
        int result = -1;
        try {
            Log.d(LOG_TAG, "Try to get result");
            result = mt.get();
            Log.d(LOG_TAG, "get returns " + result);
            Toast.makeText(this, "get returns " + result, Toast.LENGTH_LONG).show();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }

Почему return прописывается без возвращаемого значения и что при этом происходит?


Ответы (3 шт):

Автор решения: rhino_rus

В данном случае, ключевое слово return использовано для того, чтобы прервать дальнейшее выполнение метода и вернуть управление обратно вызывающему методу.

→ Ссылка
Автор решения: Aziz Umarov

Поскольку у Вас функция showResult объявлена как void? то есть не возращяет значения.

Оператор return используется для выполнения явного возврата из метода. То есть он снова передает управление объекту, который вызвал данный метод. ... Оператор return предписывает интерпретатору Java остановить выполнение текущего метода. Если метод возвращает значение, оператор return сопровождается некоторым выражением.

в Вашем случае просто выполнения явного возврата из метода.

→ Ссылка
Автор решения: Shams
private void showResult() {
        if (mt == null) return; //Если mt == null функция здесь завершается
        int result = -1;
        try {
            Log.d(LOG_TAG, "Try to get result");
            result = mt.get();
            Log.d(LOG_TAG, "get returns " + result);
            Toast.makeText(this, "get returns " + result, Toast.LENGTH_LONG).show();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }

Почему return прописывается без возвращаемого значения

Так как у вас функция типа void, функция ничего не должен возвращать.

→ Ссылка