假设有一个声明为@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/