黑马程序员技术交流社区

标题: 习题求解决 [打印本页]

作者: Stars    时间: 2015-4-22 22:14
标题: 习题求解决
下面程序运行的结果是(    )
  String str = “abcdefg”;
  str.substring(0,2);
  System.out.println(str);
a)   ab
b)   abc
c)   abcdefg
d)   出现下标越界异常
求答案,求解释。


作者: lai19    时间: 2015-4-22 22:23
答案是c!因为substring进行截取后返回的是一个新的字符串ab,但str没有改变!输出的也是str!如果是str=str.substring(0,2),结果就是A
作者: fanxia_2007    时间: 2015-4-22 22:41
答案是C,字符串一旦被创建就不会改变,因此str输出仍然为abcddef.而str.substring(0,2)将返回一个新的字符串。此字符创并不是str.
作者: caotierong    时间: 2015-4-22 22:46
选C,字符串“abcdefg”一旦被初始化在常量池中就不会改变,该题打印的是str,str这个引用的指向没有变,所以答案是C
作者: YQliang    时间: 2015-4-22 22:52
c,要把本质搞清楚了
作者: 晓月清晖明    时间: 2015-4-22 22:53
A,包含头不包含尾,这是常识啊
作者: lqg5522    时间: 2015-4-22 23:06
这个还没学到哦,先留个标记




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2