搜索haebwado moreugeteoseo heck提出了问题。
我的代码
int nTimeIdxNum = -1;
try {
nTimeIdxNum = k.indexOf("x22T:");
}catch(Exception e) {
System.out.println(e.getMessage());
}
if (nTimeIdxNum > -1) {
String local_date = "";
System.out.println("k.length() = " + k.length());
System.out.println("nTimeIdxNum = " + String.valueOf(nTimeIdxNum));
try {
local_date = k.substring(nTimeIdxNum, 13);
}catch(Exception e) {
System.out.println(e.getMessage());
}
}
和控制台结果
k.length()= 952
nTimeIdxNum = 495
字符串索引超出范围:-482
为什么如果错误发生的时间足够长。
请帮我
最佳答案
在
k.substring(nTimeIdxNum, 13);
第二个索引必须大于第一个。
也许您打算写:
k.substring(nTimeIdxNum, nTimeIdxNum + 13);
这将为您提供13个字符的子字符串,从原始
nTimeIdxNum
的第String
个字符开始。