繁体   English   中英

如何在JAVA中使用参数化构造函数制作一个类的长度不确定的对象数组?

[英]How to make an array of objects of undefined length of a class with parameterized constructor in JAVA?

Scanner sc=new Scanner(System.in);
System.out.println("Enter the number.");
int n=sc.nextInt();
PIDManager[] ob;
for (int j=0;j<n;j++)
{   
    ob[j]=new PIDManager("Thread Number "+(j+1));
}

这里的PIDManager是一个类,编译器显示一个错误,即可能尚未定义ob

如果您不提前知道大小,请使用可扩展数组,如ArrayList:

List<PIDManager> ob = new ArrayList<>();
..
ob.add(new PIDManager("Thread Number "+(j+1)));

然后使用add方法向其中添加元素。 如果知道大小,则可以如下定义数组:

PIDManager[] ob = new PIDManager[n];

初始化数组时,必须在Java中指定数组的大小(数组在Java中不会增长 )。 使用类似ArrayListLinkedList的集合。

另外,您根本没有初始化数组。

PIDManager[] ob;

应该是(假设您当时知道尺寸)。

PIDManager[] ob = new PIDManager[size];

片段中的逻辑似乎有问题。 由于您似乎实际上需要从for (int j=0;j<n;j++)判断大小为n的数组

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM