Что будет с результатом выполнения метода без присваивания?
Возник интересный вопрос. Можно даже сказать, вопрос из тех, которые возникают в голове часа в 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 число записанных в массив байтов, а я его никуда не присваиваю. И вот это число-то мне как-бы и не нужно, и даже пусть висит этот варн.
Но стало интересно, а что будет фактически с этим результатом? Он будет удален сборщиком мусора сразу, как только завершится метод? Или даже не будет создан? Или создаст значение, но без ссылки в итоге удалит после окончания работы метода?