错误提示:String index out of range: 500?

bomee 2002-07-15 09:24:02
请教大家:
我在数据录入时把好几个字段用"*"分开,存储在一个字段中。在从数据库中取出数据时,语句如下.
ResultSet rs=st.executeQuery("select * from tblMain");
rs.next();
String resip=rs.getString("resipID");
zym=rs.getString("title");
fujiazym=rs.getString("titleAlternative");
int m=fujiazym.length();
int i=0;
int j=0;
int k=0;
String fjzym[];
fjzym=new String[20];

while(!(fujiazym.equals("*")))
{j=fujiazym.indexOf('*');
k++;
fjzym[k]=fujiazym.substring(i,j);
fujiazym=fujiazym.substring(j+1,m);
}
执行后出现错误提示,
java.lang.StringIndexOutOfBoundsException: String index out of range: 500
我的数据库中的titleAlternative字段大小是500.请教是何原因

...全文
515 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bomee 2002-07-15
  • 打赏
  • 举报
回复
谢谢大家,我已经解决了,问题很多。上边的两位哥们都没说完全。
zhaoweiemail 2002-07-15
  • 打赏
  • 举报
回复
fujiazym=fujiazym.substring(j+1,m); 如果截取字符串,从一个位置到末尾,可以直接写成fujiazym=fujiazym.substring(j+1);
可乐加水 2002-07-15
  • 打赏
  • 举报
回复
fujiazym=fujiazym.substring(j+1,m);
应该是
fujiazym=fujiazym.substring(j+1,m-1);
string的index是从0开始算的

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧