数组越界
1.什么是数组访问越界?
通过数组的下标来得到数组内指定索引的元素。这称作对数组的访问。
如果一个数组定义为有n个元素,那么,对这n个元素(下标为0 到n-1的元素)的访问都合法,如果对这n个元素之外的访问,就是非法的,称为“越界。
数组占用了一段连续的内存空间。然后,我们可以通过指定数组下标来访问这块内存里的不同位置。因此,当你的下标过大时,访问到的内存,就不再是这个数组“份内”的内存。你访问的,将是其它变量的内存了。
数组越界是严重的,虽然平时可能表现不出来。
代码里用到数组,并且取了数组的下标,一定要判断数组的长度大于所取最大下标的值:
if(arr.length>2) { orderDate = arr[2] + arr[1]; }