Ближайший к Java 7 блок - это просто «ручные» блоки try / finally:
FileInputStream input = new FileInputStream(...);
try {
// Use input
} finally {
input.close();
}
Оператор using
был одной из тех вещей, которые мне показались наиболее приятными в C #, когда я впервые начал использовать C # 1.0.из фона Java.Хорошо, наконец, увидеть это в Java 7:)
Вы также должны учитывать Closeables
в Гуаве - это позволяет вам не беспокоиться о том, является ли ссылка нулевой (так же, какоператор using
делает это) и, по желанию, «регистрирует и глотает» исключения, сгенерированные при закрытии, во избежание того, чтобы любое такое исключение эффективно «перезаписывало» исключение, выброшенное из блока try.