Java String getChars()

getChars() 方法将字符从字符串复制到目标字符数组。

1 语法

public void getChars(int srcBeginIndex, int srcEndIndex, char[] destination, int dstBeginIndex)  

2 参数

srcBegin :字符串中要复制的第一个字符的索引。
srcEnd :字符串中要复制的最后一个字符之后的索引。
dst :目标数组。
dstBegin : 目标数组中的起始偏移量。

3 返回值

没有返回值,但会抛出 IndexOutOfBoundsException 异常。

4 getChars()内部源码

void getChars(char dst[], int dstBegin) {  
        System.arraycopy(value, 0, dst, dstBegin, value.length);  
}  

5 getChars()示例1

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java String.getChars方法的例子
 */
public class Demo{

    public static void main(String args[]){
        String str = new String("hello yiidian how r u");
        char[] ch = new char[10];
        try{
            str.getChars(6, 16, ch, 0);
            System.out.println(ch);
        }catch(Exception ex){System.out.println(ex);}
    }
}

输出结果为:

yiidian ho

6 getChars()示例2

如果索引值超出数组范围,则会引发异常。让我们来看一个例子。

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java String.getChars方法的例子
 */
public class Demo {

    public static void main(String[] args) {
        String str = new String("Welcome to yiidian");
        char[] ch  = new char[20];
        try {
            str.getChars(1, 26, ch, 0);
            System.out.println(ch);
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

输出结果为:

java.lang.StringIndexOutOfBoundsException: String index out of range: 26

 

热门文章

优秀文章