我终于有了适用于我的应用程序的地图和点(数组)。快速提问:我有一个致命的异常substring()
,一个“stringIndexOutOfBoundException”
一般来说,这是指什么?
我使用 ? 越过字符串的末尾substring()
?
谢谢,
我终于有了适用于我的应用程序的地图和点(数组)。快速提问:我有一个致命的异常substring()
,一个“stringIndexOutOfBoundException”
一般来说,这是指什么?
我使用 ? 越过字符串的末尾substring()
?
谢谢,
testing.substring(1,2);
(我想解析每个字符以查找特定字符)
我不会substring()
用于抓取长度为 1 的字符串(这只是一个字符),而是charAt(int)
用于特定位置。如果您需要遍历字符串中的所有字符,最好将整个内容转换为char[]
第一个(使用toCharArray()
)并对其进行迭代。
就像这里的官方文档中所述:
公共字符串子字符串(int beginIndex)
返回一个新字符串,它是该字符串的子字符串。子字符串以指定索引处的字符开始并延伸到该字符串的末尾。
抛出: IndexOutOfBoundsException - 如果 beginIndex 为负数或大于此 String 对象的长度。
是的,你通常会越过你的字符串边界。
Java API甚至告诉你...
IndexOutOfBoundsException - 如果 beginIndex 为负数或大于此 String 对象的长度。
您应该习惯使用 API。它告诉您方法抛出了哪些异常以及原因。
在尝试子字符串之前尝试打印字符串长度和值。这将帮助您看到问题所在。
例如...
String testing = "Hello StackOverflow";
System.out.println("Length of testing = " + testing.length);
System.out.println("Value of testing = " + testing);
testing.substring(1,2);