【发布时间】:2018-06-14 09:17:01
【问题描述】:
我们正在将 kotlin 添加到我们的大项目中,并且出现了许多有趣的讨论。在 kotlin 制作的 Utils 类中获取枚举元素的翻译时,我们遇到了困难。
由于一些枚举没有翻译,我决定返回 null。 我的两个同事说我不应该这样做。 参数是按照约定(提到 List.indexOf),当数字元素是返回类型时,我们返回 -1。
我认为客户必须检查退货是否有效,所以这不是更清楚(而且我认为有点糟糕)。 有人告诉我,直到我找到一个在 JDK 或 Android SDK 中找不到某些 Int 时代码返回 null 的示例,我的拉取请求才会被接受。
我已经阅读了 SO 中的许多问题,尽管许多人同意空容器和 null 是在未找到某些内容时最推荐的返回值,但我很难让授权方声明 null 在这里是正确的。
请告诉我是否需要代码才能更好地理解。
【问题讨论】:
-
方法返回原语还是对象?如果原始 - 你不能返回 null,如果 Object 你应该返回 null。
-
@user1055395 Kotlin 强制对可空类型进行空检查。我认为 return null 是最好的解决方案。
-
Map<Integer, Integer>是理想的例子吗? -
@deathangel908 我让它返回 Int?他们希望我返回 int (或在客户端中读取它)
-
@AlexeyRomanov 是我所拥有的最好的,但对我的同事来说可能不太好。谢谢。