我在阅读The Joy Of Clojure时在 IntelliJ IDEA 中使用 La Clojure 运行 Clojure 1.3.0 ,在第 4.1.3 节(第 64 页)中,作者使用以下代码演示了整数溢出:
(+ Integer/MAX_VALUE Integer/MAX_VALUE)
;=> java.lang.ArithmeticException: integer overflow
但是,当我在 REPL 上试用它时,我得到了
user=> (+ Integer/MAX_VALUE Integer/MAX_VALUE)
4294967294
user=> Integer/MAX_VALUE
2147483647
这里发生了什么?为什么我的整数被正确添加而不是溢出?