我最终让我的应用程序的地图和点(数组)正常工作。快速提问:substring()
有一个致命的例外,“stringIndexOutOfBoundException”
一般来说,那指的是什么?
我是否使用substring()
?
谢谢,
答案 0 :(得分:1)
testing.substring(1,2);
(我想解析每个字符以找到特定的字符)
我不会使用substring()
来获取1个长度的字符串(这只是一个字符),而是使用charAt(int)
来获取特定的位置。如果你需要遍历字符串中的所有字符,最好先将整个事物转换为char[]
(使用toCharArray()
)并迭代它。
答案 1 :(得分:0)
是的,你通常会越过字符串边界。
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);
答案 2 :(得分:0)
正如官方文档here中所述:
public String substring(int beginIndex)
返回一个新字符串,该字符串是此字符串的子字符串。子字符串以指定索引处的字符开头,并延伸到此字符串的末尾。
抛出:IndexOutOfBoundsException - 如果beginIndex为负数或 大于此String对象的长度。