Java 字符数组无法直接扩容,但可以通过下列步骤变相扩容:创建新数组,长度为原数组的两倍。使用 System.arraycopy() 复制原数组元素到新数组。将新数组赋值给原变量,即可使用原变量访问扩容后的数组。
Java 字符数组扩容
Java 中字符数组无法直接扩容,但可以通过创建新数组并复制现有元素来实现变相扩容。
具体步骤:
char[] newArray = new char[originalArray.length * 2];
System.arraycopy() 方法将原数组的元素复制到新数组中。System.arraycopy(originalArray, 0, newArray, 0, originalArray.length);
originalArray = newArray;
示例:
char[] originalArray = {'a', 'b', 'c', 'd'};
// 创建新数组,长度为原数组的两倍
char[] newArray = new char[originalArray.length * 2];
// 复制现有元素
System.arraycopy(originalArray, 0, newArray, 0, originalArray.length);
// 将新数组赋值给原变量
originalArray = newArray;
// 添加新元素
originalArray[4] = 'e';
originalArray
[5] = 'f';
// 打印扩容后的数组
for (char c : originalArray) {
System.out.print(c);
}输出:
abcdef