Java中定义数组必须要指定长度吗为什么?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Java中定义数组必须要指定长度吗为什么?

Java中定义数组必须要指定长度吗,如果是为什么?今天写程序时,前面定义了一个数组是空的int[] a ={};但是在下面用a[i]循环赋值时会出现 java.lang.ArrayIndexOutOfBoundsException错误,当我用int[] a = new int[8];这种形式就不会出现这种错误,这是什么原因?

展开
收起
蛮大人123 2016-03-23 15:08:10 10821 0
3 条回答
写回答
取消 提交回答
  • 不一定 ,可以使用List,这个是可以自动扩大容量的,但是一般推荐初始化size,这样会性能比较好
    2019-07-17 19:11:13
    赞同 展开评论 打赏
  • 使用 简单数组需要,使用容器则不需要, 一个是定长的开始就需要知道控件,另一个是变长的
    2019-07-17 19:11:13
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    Java中的数组是定长的!你这样int[] a ={}; 定义出来的数组a 长度为0,已经是定长了,之后再给它赋值是不可以的,因为它的长度定义出来之后是不可改变的了。
    所以在使用数组的时候,一定要注意长度,不能超过这个长度,负责就数组下表越界了。
    如果是标明全部格式,就必须给定一个数值,否则返回时出错;刚开始可以用变量名,在后面再new一个数组,也可以一个个添加!把数组可以看作是一个变量,比普通的变量难理解而已!

    2019-07-17 19:11:13
    赞同 展开评论 打赏
问答分类:
问答地址:
相关产品:
问答排行榜
最热
最新
相关电子书
更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native
立即下载
The Reactive Cloud Native Arch
立即下载
JAVA开发手册1.5.0
立即下载