3

当我使用Checker 框架编译我的代码时,它会抱怨:

incompatible types in argument.
  found   : null
  required: @NonNull String

对于第一个论点:

ResultSet rs = connection.getMetaData().getColumns(null, schemaName, tableName, null)

我知道DatabaseMetadata.getColumns()允许空目录(第一个参数)。我如何告诉 Checker 框架?

4

3 回答 3

1

正如 Gili 回答的那样,您可以使用存根文件,但是,如果您在 JDK 中发现缺少/不正确的注释,请将其报告给 Checker Framework 邮件列表checker-framework-discuss@googlegroups.com或将其报告为问题跟踪器

在每个版本中,带注释的 JDK都与 Checker Framework 捆绑在一起。它仅用于检索 JDK 中常用方法的注释。当您使用 Checker Framework 时会自动使用它。

自 Checker Framework 版本 1.8.0 起已包含此注释。

于 2014-09-10T22:25:54.937 回答
0

我不熟悉那个框架;它在您感兴趣的上下文中尊重@SuppressWarnings 吗?

https://checkerframework.org/manual/#suppressing-warnings-nullness

于 2013-09-15T05:21:33.193 回答
0

在作者编写的注释库部分中,您可以提供存根文件或重写有问题的类文件。

我最终使用了存根文件,因为它们似乎更容易上手。

于 2013-09-15T05:50:14.690 回答