try-with-resources 给出了意想不到的不兼容错误

try-with-resources gives unexpected incompatibility errors

对以下摘录执行 javac JdbcRowSet.java 让我感到困惑:

//
import javax.sql.*;
import javax.sql.rowset.*;
import java.sql.*;

class JdbcRowSet
{
    public static void main(String ... args){
        StringBuilder sb = new StringBuilder();

        try(JdbcRowSet jrs = RowSetProvider.newFactory().createJdbcRowSet()){
            //CODE
}
//

根据 JavaDoc:

public interface ResultSet extends Wrapper, AutoCloseable

public interface RowSet extends ResultSet

public interface JdbcRowSet extends RowSet, Joinable

我收到以下错误:

dbcRowSet.java:8:error: incompatible types: javax.sql.rowset.JdbcRowSet cannot be converted to JdbcRowSet try(//)
JdbcRowSet.java:8:error: incompatible types: try-with-resources not applicable to variable type
JdbcRowSet cannot be converted to AutoCloseable.

错误令人困惑。有人可以帮我解决这个问题吗? 谢谢。

正如@Kayaman 在他的评论中正确指出的那样 - 您正在声明自己的 JdbcRowSet class.

更改 class 的名称或完全限定 try 中的对象。

try(javax.sql.rowset.JdbcRowSet jrs = RowSetProvider.newFactory().createJdbcRowSet())