gpt4 book ai didi

java - 使用方法更改现有数组的大小

转载 作者:行者123 更新时间:2023-11-30 03:25:16 24 4
gpt4 key购买 nike

如果向方法传递对数组的引用,是否有任何方法可以更改该数组的大小,以便传入的数组引用将引用新的更大的数组?

我不太明白这个问题。我认为这意味着我最终必须在方法中创建一个新字符串来替换旧字符串。任何帮助将不胜感激。到目前为止,这是我的代码:

import java.util.Arrays;

public class ASize {
static int num[] = {32, 34, 45, 64};
public static void main(String[] args){


alterThatSize(num);
System.out.println(Arrays.toString(num));
}

public static void alterThatSize(int bre[]){
for(int i = 0; i < 8; i++){
bre[i] = 1 + i;
}

}

}

最佳答案

由于两个原因无法执行此操作。首先,Java数组有fixed length自创建数组以来就无法更改。二、Java是pass-by-value语言,因此您无法将传递的引用替换为对新数组的引用。通常此类任务是通过使用返回值来解决的:

static int[] expandArray(int[] arr, int newSize) {
int[] newArr = new int[newSize];
System.arraycopy(arr, 0, newArr, 0, arr.length);
return newArr;
}

像这样使用它:

num = expandArray(num, newSize);

关于java - 使用方法更改现有数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com