java - 从 Kotlin 将 null 传递给不可为 null 的 Java 方法

标签 java kotlin null

假设有一个声明为@NonNullApi 的 Java 库,但它的某些方法实际上可能使用 null 参数。

有没有办法忽略不可空性要求并从 Kotlin 传递 null

UPD 需要澄清:方法被第 3 方库声明为不可空,无法更改其代码。目标是打破调用方的限制。

显而易见的方法是使用反射,但也许 Kotlin 只为此提供了语法?

最佳答案

明显的非回答:不要那样做!

该 API 文档说:不要以这种方式发送 null

即使今天的实现 没有因为传入 null 而对您提出异议,谁说这不是错误,也不会被修复在该库的某些即将发布的版本中?

换句话说:编写代码以匹配指定的 API。

当库实现比 API 规范更宽松时,则宁愿遵循更严格的规则。你甚至应该考虑为那个图书馆写一份报告。

关于java - 从 Kotlin 将 null 传递给不可为 null 的 Java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58917088/

相关文章:

用于具有事务支持的 Activity/责任链的 Java 库

lambda - 将两个 Observables 的平面图的 lambda 更改为两个 Singles 的平面图时出错

Kotlin:带有 TypeReference<HashMap<String, String>> 的 objectmapper.readValue() 无法推断参数

c# - 在 if 语句中检查多个字符串是否为 null

asp.net - 检查字段值是否为空

c++ - 为什么按照 ISO C++ 避免在 new 之后检查 null

java - Mockito:@Mock 对象何时初始化以及它调用哪个构造函数

java - JFreeChart 交互式图表编辑 : transforming mouse coordinates into series values

java - GWT OverlayTypes 日期和长

kotlin - 将 Kotlin 文件的文档放在哪里(不是包、不是模块、不是类)