2024 Clojure状态调查!中分享您的想法。

欢迎!有关本站的工作方式,请参阅关于 页面以获取更多信息。

+1
Clojure

(< nil 3) 产生了错误 Cannot invoke "Object.getClass()" because "x" is null。这里是否有改进的空间?

我的直觉告诉我,这还没有完成是因为性能原因,但是另一个用户在 Slack 中观察到这个操作在 Numbers.javastatic public Boolean lt(Object x, Object y) { 分支中,因此添加空检查以改善错误消息可能不是坏事。

谢谢,
Devin

1 答案

+1

关于性能考虑,您说得对。我希望能看到现有代码与检查 nulls 的代码之间的性能比较。任何潜在的改变我认为都应从这一点开始。

这是否可以通过为 `null` 输入的重载来处理?`Boolean lt(null x, Object y) {} Boolean lt(Object x, null y) {} Boolean lt (null x, null y) {}` 或类似的?
...