新的Java程序员经常对编译错误消息感到困惑,例如:
"不兼容的类型:从double到int的可能有损转换"
对于这行代码:
int squareRoot = Math.sqrt(i);
Run Code Online (Sandbox Code Playgroud)
这个错误意味着什么,你如何解决它?
为什么不可能创建一个max int size的数组?
int i = 2147483647;
int[] array = new int[i];
Run Code Online (Sandbox Code Playgroud)
我找到了这个解释:
通过32位整数访问Java数组,最大理论数组大小为2147483647个元素.
但是你可以看到我的代码不起作用.创建一个大小的数组也是不可能的
new int[Integer.MAX_VALUE - 5];
Run Code Online (Sandbox Code Playgroud)
PS
为什么-5呢?