1

假设我有一个可自动关闭的资源(由 Sql.query 调用返回),那么是否必须将其返回到变量中并尝试使用资源以避免资源泄漏?

    try (final Sql sql = ...) {
            // sql.query instanciates a java.sql.ResultSet and returns it
            sql.query("SET @x := 1");
    }

在这种情况下,是否必须将此代码更改为:

    try (final Sql sql = ...) {
            // sql.query instanciates a java.sql.ResultSet and returns it
            try (final ResultSet useless = sql.query("SET @x := 1")) {}
    }

为了避免有一个非封闭java.sql.ResultSet?我没有找到关于那个案例的明确文件......我想应该是,但我没有找到关于它的明确文件(而且因为它感觉很奇怪,我不确定它是否真的需要)

4

0 回答 0