简单理解String的 substring() 方法

1.在String中提供了两个substring()方法:

//截取从下标begin到str.length()-1内容
  substring(begin) 
  //截取指定范围的内容
  substring(begin,end)

注意:String 的索引和数组一样,都是从0开始。

举个栗子:

String str = "asdfghjk";   

  //截取以下标2元素开始余下的字符
  System.out.println(str.substring(2));    //dfghjk

  //从下标为2的位置开始截取,第6个位置停止截取,结果不包括第6个位置的内容,只有4个字符,即[1,6)
  System.out.println(str.substring(2,6));  //dfgh

2.substring() 方法内部是如何处理的?

JDK6中:

substring()方法还是共用原来的char[]数组,通过偏移和长度构造了一个"新"的String。

JDK1.7:

substring()创建了一个新的char[] 数组,而不是共用。 想要substring()取得一个全新创建的对象,使用如下这种方式:

参考:

经验分享 程序员 微信小程序 职场和发展