A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 403806022 中级黑马   /  2016-4-12 23:24  /  410 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  String str = “abcdefg”;
  str.substring(0,2);
  System.out.println(str);
请问代码运行的结果为何是abcdefg而不是ab呢

1 个回复

倒序浏览
这样写就行了:
class Test2 {
        public static void main(String args[]) {
                String str = "abcdefg";
                str = str.substring(0,2);
                System.out.println(str);
        }
}
原因是你还没有用新的变量记录substring()方法返回的字符串。
String类型的值长度是不可改变的,每一次对String进行处理都会生成新的字符串没所以必须用变量记录。
如果你还想学习功能更强大的string类型处理方法,可以查一下StringBuffer和StringBuilder
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马