当我用The Checker Framwork编译我的代码时,它会抱怨:
incompatible types in argument.
found : null
required: @NonNull String
第一个参数:
ResultSet rs = connection.getMetaData().getColumns(null, schemaName, tableName, null)
我知道DatabaseMetadata.getColumns()允许空目录(第一个参数)。如何告诉Checker Framework?
答案 0 :(得分:1)
正如Gili回答的那样,您可以使用stub-files但是,如果您在JDK中发现缺少/不正确的注释,请将其报告给Checker Framework邮件列表checker-framework-discuss@googlegroups.com 或将其报告为问题issue tracker。
每次发布时,Annotated JDK都与Checker Framework捆绑在一起。它仅用于检索JDK中常用方法的注释。使用Checker Framework时会自动使用它。
自Checker Framework 1.8.0发布以来,此注释已包含在内。
答案 1 :(得分:0)
我不熟悉那个框架;它在您感兴趣的上下文中是否尊重@SuppressWarnings?
https://checkerframework.org/manual/#suppressing-warnings-nullness
答案 2 :(得分:0)
在Annotating Libraries部分中,作者写道,您可以提供stub-files或重写相关的课程文件。
我最终使用存根文件,因为它们似乎更容易上手。