gpt4 book ai didi

java - 在 Samsung Galaxy S 中添加 300 个联系人到组时出现 StringIndexOutOfBoundsException

转载 作者:行者123 更新时间:2023-12-01 16:00:59 25 4
gpt4 key购买 nike

我正在测试在我的应用程序中添加 300 个联系人,它运行得很好,但在 Galaxy 中它崩溃了并且不显示我的 300 个联系人,并且他们在崩溃后删除了这些联系人。

有人看过这个吗?

最佳答案

简单答案:

StringIndexOutOfBoundsException

由 String 方法抛出,指示索引为负数或大于字符串的大小。对于某些方法(例如 charAt 方法),当索引等于字符串大小时也会引发此异常。

也许您正在使用 charAt() 方法访问字符串?无论哪种方式,访问字符串中不存在的位置都会返回一个像您的数组一样的数组。

    String myString;
myString = "Hello";
System.out.println(charAt(10)); will cause a stringsIndexOutOfBoundsException

详细答案:

解释在抛出任何类型的indexoutofboundsException之前会发生什么。我使用数组作为基本示例。

这意味着您正在迭代超过 300 个联系人。 Ut 已到达数组末尾并尝试访问下一个空值。这会返回一个indexoutofbounds异常。

当循环遍历数组时,您需要了解元素一(数组中的第一个元素)被定义为 0。因为 java 有一个从 0 开始的索引。因此,访问第一个元素时,您会这样做 myArray[0];

所以如果你想访问数组的最后一个元素,你可以这样做 myArray[myArray.size - 1]

因此,如果您有 10 个元素,您将得到一个如下所示的数组:

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Note there is no 10 as it starts from 0.

因此,当您尝试访问元素 10 时,您可以这样做。 myArray[myArray.size-1]

myArray.size 将返回数组的大小,它等于 10,然后我们减去 1 得到值 9,然后我们可以通过输入值 9 来访问第十个元素。

这是在运行时无需应用程序即可捕获任何错误的巧妙方法。相反,它会为用户生成一条消息来通知他们错误。

PK

关于java - 在 Samsung Galaxy S 中添加 300 个联系人到组时出现 StringIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3932257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com