lcyliuliu
2017-06-25 09:13
采纳率: 100%
浏览 3.5k
已采纳

JAVA声明全局变量的问题

我需要一个全局变量,是个数组,然后我在构造方法里面输入了一个整型数k,这个k是数组的大小也就说int i[k],
但是我在使用的时候报错,ArrayIndexOutOfBoundsException
求大神帮助啊

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • swiftlinlei 2017-06-25 10:20
    已采纳

    首先,数组初始化有静态初始化,例如:int[] arr = {1,2,3,4};或者开辟空间初始化int[] arrr = new int[5];数组不支持动态初始化。
    其次,ArrayIndexOutOfBoundsException是数组下标越界的意思,就是如果开辟一个数组int arr = new int[3],
    那么,这个数组就只能存放三个数值,arr[0]、arr[1]、arr[2]这三个,且无法动态增加,当读取arr[3]的时候,就会报ArrayIndexOutOfBoundsException。
    所以,数组是大小固定的,使用时必须小于定义的数组大小。而集合List类可以解决动态添加而不用担心越界。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • Gskey_ 2017-06-25 09:22

    数组必须指定length,你想jvm在加载类的时候阅读到你的全局变量,发现一个没有指定length的数组,肯定报错撒,而且你构造方法给length以后是后者行为了,中间有个时间差,也就是说在jvm检查的时候已经挂掉了,后面构造方法根本不会执行,遇到这种需求,用集合应该要好些。

    评论
    解决 无用
    打赏 举报
  • TaiChuan_W 2017-06-25 10:17

    数组是全局变量,K是不是全局的呢,不是的话加载的时候数组长度就不存在了

    评论
    解决 无用
    打赏 举报
  • BUG_LOG_ 2017-06-25 11:03

    数组下标越界异常,数组中元素个数是固定的,当多于这个个数的时候,会报错

    评论
    解决 无用
    打赏 举报
  • Violin_yang 2017-06-27 07:13

    此异常表示的是你的数组越界了

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题