📅  最后修改于: 2023-12-03 15:15:57.741000             🧑  作者: Mango
在 Java 中,String 类是不可变类,也就是说一旦一个字符串对象创建完成,就无法更改它的内容。因此,我们需要使用 String 类的方法来访问和操作字符串。
其中 String getChars() 方法可以用来从字符串中提取指定位置的字符序列,并将其存储到指定的字符数组中。它的语法结构如下:
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
参数说明:
srcBegin
:要获取的字符序列的起始索引。srcEnd
:要获取的字符序列的终止索引(不包含在序列中)。dst
:目标字符数组,用于存储字符序列。dstBegin
:目标字符数组的起始索引,从该索引开始将字符序列复制到数组中。该方法没有返回值,只是将指定的字符序列复制到目标数组中。
下面是一个示例:
public class GetCharsExample {
public static void main(String[] args) {
String str = "Hello, world!";
int beginIndex = 7;
int endIndex = 12;
char[] charArray = new char[5];
// 从字符串中获取指定索引范围的字符序列,并将其存储到目标字符数组中
str.getChars(beginIndex, endIndex, charArray, 0);
// 输出目标字符数组的内容
for (char ch : charArray) {
System.out.print(ch); // 输出 world
}
}
}
在示例中,我们首先声明了一个字符串对象 str
和一个整数型变量 beginIndex
和 endIndex
,代表着要获取字符序列的起始索引和终止索引。然后创建了一个长度为 5 的字符数组 charArray
,用于存储从字符串中获取的字符序列。最后,我们调用了 str.getChars(beginIndex, endIndex, charArray, 0)
方法,将指定索引范围的字符序列存储到目标字符数组中,并通过循环遍历目标字符数组,打印其中的内容。
srcBegin
<= srcEnd
<= String.length()。dstBegin
+ 要获取的字符序列的长度超出了目标字符数组的长度,则会抛出异常 IndexOutOfBoundsException。