Java 错误:字符串索引超出范围,为什么?
搜索haebwado moreugeteoseo heck提出了问题 我的代码Java 错误:字符串索引超出范围,为什么?,java,substring,Java,Substring,搜索haebwado moreugeteoseo heck提出了问题 我的代码 int nTimeIdxNum = -1; try { nTimeIdxNum = k.indexOf("x22T:"); }catch(Exception e) { System.out.println(e.getMessage()); }
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、 长度()=952 nTimeIdxNum=495 字符串索引超出范围:-482
如果错误发生的时间足够长,原因是什么。。 请帮我进来
k.substring(nTimeIdxNum, 13);
第二个索引必须大于第一个索引
也许你想写:
k.substring(nTimeIdxNum, nTimeIdxNum + 13);
这将为您提供一个13个字符的子字符串,从原始字符串的第个字符开始