Метод close() в Java Scanner работает так, что закрывает текущий экземпляр сканера. 2 Если сканер ещё не был закрыт, то если его базовый читаемый объект также реализует интерфейс Closeable, то будет вызван метод close() этого объекта. 24 Если сканер уже закрыт, то вызов этого метода не окажет никакого эффекта. 3
Вызов метода close() позволяет программе освободить память сканера и использовать её в других функциях. 5 Если сканер не закрыт, то программа не сможет собрать мусор с объектов сканера, что приведёт к утечке памяти. 5
Чтобы избежать утечки памяти, сканер нужно закрывать после завершения чтения входных данных от пользователя или из файлов. 5
Если попытаться выполнить операции поиска после закрытия сканера, будет выброшено исключение IllegalStateException. 24