突然出现java.lang.StringIndexOutOfBoundsException: String index out of range: -1 的错误怎么回事

rootcausejava.lang.StringIndexOutOfBoundsException:Stringindexoutofrange:-1java.lang.... root cause

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
java.lang.String.substring(Unknown Source)
sun.jdbc.odbc.JdbcOdbcResultSet.reWordAsCountQuery(Unknown Source)
sun.jdbc.odbc.JdbcOdbcResultSet.calculateRowCount(Unknown Source)
sun.jdbc.odbc.JdbcOdbcResultSet.initialize(Unknown Source)
sun.jdbc.odbc.JdbcOdbcStatement.getResultSet(Unknown Source)
sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(Unknown Source)
toolsBean.DataBaseConn.query(DataBaseConn.java:26)
org.apache.jsp.order_005fadd_jsp._jspService(order_005fadd_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

之前没问题啊,我晕
展开
 我来答
百度网友faadf46
高粉答主

2020-05-07 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:75.6万
展开全部

突然出现java.lang.StringIndexOutOfBoundsException: String index out of range: -1 的错误是设置错误造成的,解决方法为:

1、右击有错误提示的文件夹,如下。

2、我们点击”配置构建路径“,如下。

3、我们再点击”添加库“,如下。

4、我们选中上图中标出的选项,再点击下一步。

5、我们再点击”完成“。

6、我们再点击”正常“,即可完成设置。这样我的错误就会消失了。

百度网友d18ea0f
2011-04-13 · TA获得超过174个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:171万
展开全部
请将执行String sql="insert into tb_car values(?,?,?,?,?,?,?,?,?,?,?)";语句的代码贴出来,想看看你的怎么插入数据的。
出现错误“违反了 PRIMARY KEY 约束 'PK_TB_CAR'”,可能是因为id字段是你的表的主键,具有唯一性。

补充一下,因为你的ID字段是字符类型的,所以其值通过SQL语句“String str="select max(id) as maxint from tb_car";”得到的结果未必是你想要的。
例如:
CB2
CB10007
CB10006
CB10005
CB10004
CB10003
CB10002
CB10001
它们之间的大小是通过字符的ascii码进行比较的,所以最大的是“CB2”。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niceslj
推荐于2017-05-26 · TA获得超过184个赞
知道答主
回答量:95
采纳率:0%
帮助的人:55.7万
展开全部
应该是string 的 substring方法 参数index访问下标越界,如:
String a = "abc";
System.out.println(a.substring(1)); //正常,显示“bc”
System.out.println(a.substring(2)); //正常,显示“c”
System.out.println(a.substring(4)); //错误,String index out of range: -1 因为一共只有3个字母。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
borangexin
2008-10-16
知道答主
回答量:25
采纳率:0%
帮助的人:0
展开全部
数组越界。
比如你申请了一个String s="abcd";
然后你又进行了一个查找,比如int mm= s.indexOf("ddd");
但是你的String 里面并没有"ddd"这个字符串,所以indexOf方法返回的是-1
然后你再用这个mm做为参数访问String ,比如s.substring(mm,2);
就会出现越界了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ctb244897789
2012-05-17
知道答主
回答量:2
采纳率:0%
帮助的人:3220
展开全部
数值越界了 你要插入的值或者你要拿的值 已经超越了内存的范围 把数据该一下就行了

就第一行有用 其他的都是些没用的报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式