当前位置: 技术问答>java相关
错误提示:String index out of range: 500?
来源: 互联网 发布时间:2015-07-14
本文导语: 请教大家: 我在数据录入时把好几个字段用"*"分开,存储在一个字段中。在从数据库中取出数据时,语句如下. ResultSet rs=st.executeQuery("select * from tblMain"); rs.next(); String resip=rs.getString("resipID"); zym=rs.getString("title...
请教大家:
我在数据录入时把好几个字段用"*"分开,存储在一个字段中。在从数据库中取出数据时,语句如下.
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.请教是何原因
我在数据录入时把好几个字段用"*"分开,存储在一个字段中。在从数据库中取出数据时,语句如下.
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.请教是何原因
|
fujiazym=fujiazym.substring(j+1,m);
应该是
fujiazym=fujiazym.substring(j+1,m-1);
string的index是从0开始算的
应该是
fujiazym=fujiazym.substring(j+1,m-1);
string的index是从0开始算的
|
fujiazym=fujiazym.substring(j+1,m); 如果截取字符串,从一个位置到末尾,可以直接写成fujiazym=fujiazym.substring(j+1);