Sobes.tech
Back to questions
Junior — Middle
62

Можно ли использовать конструкцию try-with-resources для автоматической инициализации любых классов?

Answer from AI

sobes.tech AI

Конструкция try-with-resources в Java предназначена для автоматического закрытия ресурсов, которые реализуют интерфейс java.lang.AutoCloseable (или Closeable).

Это значит, что не для любых классов можно использовать try-with-resources, а только для тех, которые поддерживают метод close(), вызываемый автоматически при выходе из блока try.

Пример использования:

try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
    String line = reader.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}

Если класс не реализует AutoCloseable, его нельзя использовать в try-with-resources без дополнительной обертки.