Java中定义数组必须要指定长度吗,如果是为什么?今天写程序时,前面定义了一个数组是空的int[] a ={};但是在下面用a[i]循环赋值时会出现 java.lang.ArrayIndexOutOfBoundsException错误,当我用int[] a = new int[8];这种形式就不会出现这种错误,这是什么原因?
Java中的数组是定长的!你这样int[] a ={}
; 定义出来的数组a 长度为0,已经是定长了,之后再给它赋值是不可以的,因为它的长度定义出来之后是不可改变的了。
所以在使用数组的时候,一定要注意长度,不能超过这个长度,负责就数组下表越界了。
如果是标明全部格式,就必须给定一个数值,否则返回时出错;刚开始可以用变量名,在后面再new一个数组,也可以一个个添加!把数组可以看作是一个变量,比普通的变量难理解而已!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。