了解Javadoc for executeLargeUpdate关于UnsupportedOperationException
我对Java相当陌生,在阅读类文档时,遇到了了解Javadoc for executeLargeUpdate关于UnsupportedOperationException,java,jdbc,Java,Jdbc,我对Java相当陌生,在阅读类文档时,遇到了executeLargeUpdate() 默认实现将抛出UnsupportedOperationException 这里的默认实现声明它抛出SQLException,并检查基类中的SQLException,我发现它是Exception,而UnsupportedOperationException是RuntimeException的子类 我不明白上面这句话是什么意思?默认实现将抛出什么意思?请帮我理解 注意,语句不是一个类,而是一个接口。自Java8以来
executeLargeUpdate()
默认实现将抛出UnsupportedOperationException
这里的默认实现声明它抛出SQLException,并检查基类中的SQLException
,我发现它是Exception
,而UnsupportedOperationException
是RuntimeException
的子类
我不明白上面这句话是什么意思?默认实现将抛出什么意思?请帮我理解 注意,
语句
不是一个类,而是一个接口。自Java8以来,接口可以为其方法提供“默认”实现。这意味着在实现接口时,不必为其所有方法编写实现。您可以选择使用标有default
的方法的默认实现
这里讨论的方法就是这样一种方法。默认实现是抛出一个不支持的操作异常
。抛出SQLException
子句与默认实现无关。它只是告诉调用方,在调用此方法时,请注意可能会抛出SQLException
,请处理此问题
语句
的实现者可以选择不实现executeLargeUpdate
,在这种情况下,调用此方法时,将抛出一个UnsupportedOperationException
。这就是“默认实现将抛出…”的意思。这意味着,调用executeLargeUpdate
将抛出-unchecked-UnsupportedOperationException
。这是语句的默认行为,除非JDBC驱动程序实现支持该方法。我个人认为这是一个设计错误,默认实现应该抛出SQLFeatureNotSupportedException
(与早期JDBC规范版本中引入的JDBC中的其他可选方法一样),但是JDBC-EG的其他人不同意。我认为你的观点完全正确。JDBC-EG,那是什么?JDBC专家组,讨论和维护JDBC规范作为JCP(Java社区过程)的一部分的人组成的小组,很好..谢谢理解它:)
default long executeLargeUpdate(String sql) throws SQLException