Java 7부터 사용 가능해진 try-with-resources는

 

입출력과 관련된 객체를 일일히 닫아줘야 했던 다음과 같은 코드에서

 

1
2
3
4
5
6
7
8
9
10
11
try {
    Connection con = DriverManager.getConnection("...");
    ...
catch (SQLException e1) {
    ...
finally {
    if (con != null) {
        try { con.close(); } catch (SQLException e2) { }
         ...
    }
}
cs

 

아래와 같이 try 바로 옆에 리소스 호출을 넣어주면 자동으로 닫아주어 편리합니다.

close()를 명시적으로 호출하지 않아도 자동으로 호출됩니다.

 

1
2
3
4
5
6
7
8
try(
    Connection con = DriverManager.getConnection(...);
    PreparedStatement pstmt = ...;
) {
    ...
} catch (SQLException e) {
    ...
}
cs

 

java.lang.AutoCloseable 인터페이스를 구현한 객체만을 사용할 수 있습니다.

'JAVA' 카테고리의 다른 글

[Java] 초기화 블럭(Initialization block)  (0) 2019.07.14