java 确定数组边界_java和.length上的数组边界

keys数组定义如下:

keys = new char[] {resolv, 'А', 'Б', 'В', 'Г', 'Д', 'Е',

'Ё', 'Ж', 'З', 'И', 'Й', 'К',

'Л', 'М', 'Н', 'О', 'П', 'Р',

'С', 'Т', 'У', 'Ф', 'Х', 'Ц',

'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь',

'Э', 'Ю', 'Я'};

‘resolv’是一个常量char值0x00,但这与此问题无关.

现在,这段代码有时会引发“java.lang.ArrayIndexOutOfBoundsException:length = 34; index = 34”异常:

protected void LoadKeyRects() {

keyRects = new Rect[keys.length];

// Solve key

keyRects[0] = resRect;

// Rest of keys

int x, y;

for (int i=1; i

y = 214 + ( 87 * ((i-1)/11));

x = 7 + (((i-1)%11)*71);

keyRects[i] = new Rect (x, y, x+71, y+87);

}

}

到目前为止,我还没有能够自己重现错误,但我从第三方设备的BugSense获得了足够的报告来关注它.似乎有时keyRects [i]可能会引用keyRects [keys.length]尽管i

有任何想法吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值