请分享您的想法,参与2024年Clojure状态调查!

欢迎!请查看关于页面了解此网站的更多操作信息。

+1投票
Clojure

(< nil 3) 产生错误 无法调用 "Object.getClass()" 因为 "x" 是 null。这里还有改进的余地吗?

我的直觉告诉我,这可能由于性能原因而没有实现,但另一名用户在Slack中提到,它在 Numbers.javastatic public Boolean lt(Object x, Object y) { 分支中,因此添加对错误消息的null检查可能不会很糟糕。

谢谢,
Devin

1 答案

+1投票

关于性能的考虑,您的直觉是正确的。我想看到现有代码和检查nulls的代码之间的性能比较。任何潜在的更改(或不)我认为都应该从这里开始。

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