Java StringBuffer substring()方法及示例
在StringBuffer类中,根据传递给它的参数,有两种类型的substring方法。
substring(int start)
StringBuffer类 的 substring(int start) 方法是一个内置的方法,用于返回一个从索引开始的子串,并延伸到这个序列的结尾。该方法返回的字符串包含了从索引开始到旧序列结束的所有字符。
语法
public String substring(int start)
参数: 本方法只接受一个参数 start ,它是一个整数类型的值,指的是子串的起始索引。
返回值: 本方法返回 子串 在旧序列的开始到结束的范围内。
异常: 如果start小于0,或者大于这个对象的长度,这个方法会抛出 StringIndexOutOfBoundsException 。
下面的程序说明了StringBuffer substring()方法。
例1 :
// Java program to demonstrate
// the substring() Method.
class GFG {
public static void main(String[] args)
{
// create a StringBuffer object
// with a String pass as parameter
StringBuffer str
= new StringBuffer("GeeksForGeeks");
// print string
System.out.println("String contains = "
+ str);
// get substring start from index 5
// using substring() and print results
System.out.println("SubSequence = "
+ str.substring(5));
}
}
输出:
String contains = GeeksForGeeks
SubSequence = ForGeeks
例2: 演示StringIndexOutOfBoundsException
// Java program to demonstrate
// Exception thrown by the substring() Method.
class GFG {
public static void main(String[] args)
{
// create a StringBuffer object
// with a String pass as parameter
StringBuffer str
= new StringBuffer("Indian Team Played Well");
try {
// get substring starts from index -7
// using substring() and print
str.substring(-7);
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
输出:
Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: -7
substring(int start, int end)
StringBuffer类的 substring(int start, int end) 方法是一个内置的方法,用来返回一个从索引开始的子串,并延伸到这个序列的索引端1。这个方法返回的字符串包含了从索引开始到索引结束-1的所有字符。
语法
public String substring(int start)
参数: 本方法接受两个参数 start ,它是Integer类型的值,指的是子串的起始索引, end 也是Integer类型的值,指的是子串的结束索引。
返回值: 本方法返回位于老序列的索引开始到索引结束的 子串 。
异常: 如果start或end为负数或大于length(),或者start大于end,该方法会抛出 StringIndexOutOfBoundsException 。
下面的程序说明了StringBuffer.substring()方法。
例1 :
// Java program to demonstrate
// the substring() Method.
class GFG {
public static void main(String[] args)
{
// create a StringBuffer object
// with a String pass as parameter
StringBuffer str
= new StringBuffer("GeeksForGeeks");
// print string
System.out.println("String contains = " + str);
// get substring start from index 5 to index 8
// using substring() and print results
System.out.println("SubSequence = "
+ str.substring(5, 8));
}
}
输出:
String contains = GeeksForGeeks
SubSequence = For
例2: 演示StringIndexOutOfBoundsException
// Java program to demonstrate
// Exception thrown by the substring() Method.
class GFG {
public static void main(String[] args)
{
// create a StringBuffer object
// with a String pass as parameter
StringBuffer str
= new StringBuffer("Indian Team Played Well");
try {
// get substring starts from index 7
// and end at index 3
// using substring() and print
str.substring(9, 3);
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
输出:
Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: -6
参考资料:
- https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#substring(int, int)
- https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#substring(int)