当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java StringBuilder getChars()用法及代码示例


StringBuilder类的getChars(int srcBegin,int srcEnd,char [] dst,int dstBegin)方法将以给定index:srcBegin开头的字符从StringBuilder包含的String复制到index:srcEnd-1到作为参数传递的char数组中发挥作用。

  • 字符从StringBuilder复制到数组dst []中,开始于index:dstBegin,结束于index:dstbegin +(srcEnd-srcBegin)– 1。
  • 从StringBuilder复制到数组的第一个字符位于索引srcBegin,而要复制的最后一个字符位于索引srcEnd-1。
  • 要复制的字符总数等于srcEnd-srcBegin。

用法:

public void getChars(int srcBegin, int srcEnd, 
                          char[] dst, int dstBegin)

参数:此方法接受四个不同的参数:


  • srcBegin:代表我们必须开始复制的索引。
  • srcEnd:表示我们必须停止复制的索引。
  • dst:表示要将数据复制到的数组。
  • dstBegin:代表目标数组的索引,我们开始粘贴复制的数据。

返回值:此方法不返回任何内容。

异常:在以下情况下,此方法将引发StringIndexOutOfBoundsException:

  • srcBegin
  • dstBegin
  • srcBegin> srcEnd
  • srcEnd> this.length()
  • dstBegin + srcEnd-srcBegin> dst.length

下面的程序演示StringBuilder类的getChars()方法:

示例1:

// Java program to demonstrate 
// the getChars() Method. 
  
class GFG { 
    public static void main(String[] args) 
    { 
  
        // create a StringBuilder object 
        // with a String pass as parameter 
        StringBuilder 
            str 
            = new StringBuilder("WelcomeGeeks"); 
  
        // print string 
        System.out.println("String = "
                           + str.toString()); 
  
        // create a char Array 
        char[] array = new char[7]; 
  
        // get char from index 0 to 7 
        // and store in array start index 0 
        str.getChars(0, 7, array, 0); 
  
        // print char array after operation 
        System.out.print("Char array contains : "); 
  
        for (int i = 0; i < array.length; i++) { 
            System.out.print(array[i] + " "); 
        } 
    } 
}
输出:
String = WelcomeGeeks
Char array contains : W e l c o m e

示例2:

// Java program to demonstrate 
// the getChars() Method. 
  
import java.util.*; 
  
class GFG { 
    public static void main(String[] args) 
    { 
  
        // create a StringBuilder object 
        // with a String pass as parameter 
        StringBuilder 
            str 
            = new StringBuilder("evil dead_01"); 
  
        // print string 
        System.out.println("String = "
                           + str.toString()); 
  
        // create a char Array 
        char[] array = new char[10]; 
  
        // initialize all character to _(underscore). 
        Arrays.fill(array, '_'); 
  
        // get char from index 5 to 9 
        // and store in array start index 3 
        str.getChars(5, 9, array, 3); 
  
        // print char array after operation 
        System.out.print("char array contains : "); 
  
        for (int i = 0; i < array.length; i++) { 
            System.out.print(array[i] + " "); 
        } 
    } 
}
输出:
String = evil dead_01
char array contains : _ _ _ d e a d _ _ _

示例3:演示StringIndexOutOfBoundException

// Java program to demonstrate 
// exception thrown by the getChars() Method. 
  
import java.util.*; 
  
class GFG { 
    public static void main(String[] args) 
    { 
  
        // create a StringBuilder object 
        // with a String pass as parameter 
        StringBuilder 
            str 
            = new StringBuilder("evil dead_01"); 
  
        // create a char Array 
        char[] array = new char[10]; 
  
        // initialize all character to _(underscore). 
        Arrays.fill(array, '_'); 
  
        try { 
  
            // if start is greater then end 
            str.getChars(5, 2, array, 0); 
        } 
  
        catch (Exception e) { 
            System.out.println("Exception: " + e); 
        } 
    } 
}
输出:
Exception: java.lang.StringIndexOutOfBoundsException: srcBegin > srcEnd

参考:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuilder.html#getChars(int, int, char%5B%5D, int)



相关用法


注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 StringBuilder getChars() in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。