Что будет с результатом выполнения метода без присваивания?

Возник интересный вопрос. Можно даже сказать, вопрос из тех, которые возникают в голове часа в 3 ночи.) К сожалению, я не знаю, как его сформулировать, чтобы спросить у гугла.)

Есть свой вот такой вот метод:

    private byte[] takeBlobFromFile() throws IOException {
        String scriptTxt = "C:\\Tool\\blobText.txt";
        File file = new File(scriptText);
        byte[] fileContent = new byte[(int) file.length()];

        try (FileInputStream fis = new FileInputStream(file)) {
            fis.read(fileContent);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        return fileContent;
    }

В нем мы читаем файл с длинным текстом (2500+ строк), после чего заполняем byte[] массив через FileInputStream. Нужно это для того, чтоб в дальнейшем передать этот массив в Blob для записи в соответствующее поле в базу данных.

И у меня IDEA ругается на метод fis.read(fileContent), говоря "Result of method call ignored". Насколько я понял, имеется ввиду, что "Вы игнорируете результат выполнения метода", ведь он возвращает Int число записанных в массив байтов, а я его никуда не присваиваю. И вот это число-то мне как-бы и не нужно, и даже пусть висит этот варн.

Но стало интересно, а что будет фактически с этим результатом? Он будет удален сборщиком мусора сразу, как только завершится метод? Или даже не будет создан? Или создаст значение, но без ссылки в итоге удалит после окончания работы метода?


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