回顾我的代码,我发现我偶尔会写出以下代码:
ResultSet rs = conn.createStatement().executeQuery("select * from main");
//snip
rs.close();
有时候我会写下
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("Select * from main");
//snip
rs.close();
st.close();
在第二段代码中,语句关闭更加明显,但是在第一段代码中也关闭了吗?conn.createStatement()返回一个语句对象,但是当它以那种方式实例化时,我看不到任何容易的方法来在完成后关闭它。我应该重新编写各个代码片段以使用第二种方法吗?