如何在Java中扩展数组而不更改其名称

2024-06-26

我想知道是否可以在 Java 中扩展数组而不更改其名称,因为我有多个方法链接到该数组。我正在考虑创建一个同名但两倍大的新数组,然后将第一个数组中的所有元素复制到第二个数组。这可能吗?
基本上我想创建一个包含银行账户的数组,如果客户创建了太多账户以致于该数组没有足够的元素,它应该自行扩展。
感谢您的回复!


即使使用ArrayList http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html在许多情况下可能是一个好建议,有完全合法的场合使用普通的旧数组.

在这种情况下,如果您需要调整数组大小,您可能需要研究其中之一java.utils.Arrays.copyOf https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#copyOf%28boolean%5B%5D,%20int%29方法。但请注意,这些并不会真正resize你的数组。他们只会创建一个新数组并复制常见项目。

如果新数组的大小大于旧数组的大小,则新项目将被初始化为某个默认值(即:false for boolean[], null for T[]-- 详细信息请参阅文档)。你必须像这样使用这些函数:

myArray = copyOf(myArray, myNewSize); 

但请记住,此方法将始终返回new大批。即使要求的尺寸与原始尺寸相同。如果这在not理想的情况下,你将不得不写这样的东西:

myArray = (myNewSize > myArray.length) ? copyOf(myArray, myNewSize) : myArray;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Java中扩展数组而不更改其名称 的相关文章

随机推荐