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()取得一个全新创建的对象,使用如下这种方式: