gpt4 book ai didi

java - 如何创建对象数组,同时调用其构造函数?

转载 作者:行者123 更新时间:2023-12-02 02:51:33 30 4
gpt4 key购买 nike

我正在将一些 C++ 代码移植到 Java。

这是我的代码片段:

class Foo{

...

private class Bar
{
public byte[] data;
public int len;

Bar() {
data = new byte[256];
len = 0;
}
}

...

private Bar[] myArray = new Bar[10];

我想要一个包含 10 个对象的数组。但是当我想在代码中进一步使用该数组时,我注意到所有 10 个成员都是“null”。

作为一种解决方法,我可以在主类的构造函数中使用 for 循环来解决它:

Foo() {
for( int i=0; i<myArray.length; i++ )
myArray[i] = new Bar();
}

有没有更好的方法可以一次调用 10 个构造函数,而不需要 for 循环?

最佳答案

如果您准备使用 List 接口(interface)的实现,则可以执行以下操作:

List<Bar> myArray = new ArrayList<>(Collections.nCopies(10, new Bar());
/* ^ number of copies */

但这对于原始数组来说是不可能的([n] 样式)

关于java - 如何创建对象数组,同时调用其构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43781216/

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