"1".substring(1).length()

Define_ling 2011-08-24 01:30:19
System.out.println("----"+"".substring(1).length());//question

System.out.println("----"+"1".substring(1).length());

第一个出现错误是肯定的,我想了解为什么第二个不报错呢

输出来的时候什么都没有,为什么,原因
...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
黎某人 2011-08-24
  • 打赏
  • 举报
回复
System.out.println("----"+"".substring(1).length()); 先执行的应该是"".substring(1).length()
你的""长度为0 自然会告诉你越界了
softroad 2011-08-24
  • 打赏
  • 举报
回复
学习了。
完美灬缺陷 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiazdong 的回复:]
lz可以查下API文档,对于String的subString方法给了几个事例:

示例:

"emptiness".substring(9) returns "" (an empty string)

抛出:
IndexOutOfBoundsException - 如果 beginIndex 为负或大于此 String 对象的长度。
如果参数大于字符串的长度,就抛出异常,但是如……
[/Quote]
+1
小绵羊 2011-08-24
  • 打赏
  • 举报
回复
重复发帖了
xiazdong 2011-08-24
  • 打赏
  • 举报
回复
lz可以查下API文档,对于String的subString方法给了几个事例:

示例:

"emptiness".substring(9) returns "" (an empty string)

抛出:
IndexOutOfBoundsException - 如果 beginIndex 为负或大于此 String 对象的长度
如果参数大于字符串的长度,就抛出异常,但是如果参数等于字符串的长度,则像给出的实例一样是返回空字符串。
这里"1"的长度是1,因此"1".subString(1)返回空字符串。

62,614

社区成员

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

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