我在阅读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
Run Code Online (Sandbox Code Playgroud)
但是,当我在REPL上尝试时,我得到了
user=> (+ Integer/MAX_VALUE Integer/MAX_VALUE)
4294967294
user=> Integer/MAX_VALUE
2147483647
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?为什么我的整数被正确添加而不是溢出?