Несовместимые типы в аргументе

Когда я компилирую свой код с помощью Checker Framwork, он жалуется:

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

для первого аргумента:

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

Я знаю, что DatabaseMetadata.getColumns() допускает пустой каталог (первый аргумент). Как сообщить об этом Checker Framework?


person Gili    schedule 15.09.2013    source источник


Ответы (3)


Как ответил Гили, вы можете использовать файлы-заглушки, но, если вы обнаружите отсутствующую/неправильную аннотацию в JDK, сообщите об этом в список рассылки Checker Framework [email protected] или сообщите о ней как о проблеме в системе отслеживания проблем.

С каждым выпуском вместе с Checker Framework поставляется JDK с аннотациями. Он используется исключительно для получения аннотаций для общих методов в JDK. Он используется автоматически при использовании Checker Framework.

Эта аннотация была включена, начиная с версии Checker Framework 1.8.0.

person Jonathan Burke    schedule 10.09.2014

Я не знаком с этой структурой; уважает ли он @SuppressWarnings в интересующем вас контексте?

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

person UFL1138    schedule 15.09.2013
comment
Да, но мне нужно было более детальное решение (а также я хотел избежать многократного @SuppressWarnings для одной и той же проблемы в нескольких файлах. В итоге я узнал о файлы-заглушки, и они, кажется, работают. - person Gili; 15.09.2013

В разделе Библиотеки аннотаций авторы пишут, что вы можете либо предоставить файлы-заглушки или перепишите соответствующие файлы классов.

В итоге я использовал файлы-заглушки, так как с ними было проще начать работу.

person Gili    schedule 15.09.2013