ケース A:
try (Connection con = DriverManager.getConnection(myConnectionURL);
PreparedStatement ps = con.prepareStatement("SELECT * FROM table");
ResultSet rs = ps.executeQuery()) {
processResults(rs);
} catch (SQLException e) {
e.printStackTrace();
}
ケース B:
try (ResultSet rs = DriverManager.getConnection(myConnectionURL)
.prepareStatement("SELECT * FROM table")
.executeQuery()) {
processResults(rs);
} catch (SQLException e) {
e.printStackTrace();
}
A の場合con
、自動的に閉じられますps
。ケースBrs
はどうですか?ケース Bでは、変数がケース A のように作成されません。 con
ps
私の質問:両方のケースは完全に同一ですか? ケース Bに問題はありますか?