我知道我可以使用 ArrayList 来实现此目的,但我不明白为什么我无法将 Object 实例添加到以下 Object[] 数组中?
class Penguin {
public void say(){
System.out.println("Hi, I am a penguin!");
}
}
public class TempTest {
private Object[] items;
private int next = 0;
private int i = 0;
public void add(Object x){
if(next < items.length)
items[next++] = x;
}
public boolean end() { return i == items.length; }
public Object current() { return items[i]; }
public void next() { if(i < items.length) i++; }
public static void main(String[] args) {
Object[] obj = new Object[5];
Object p = new Penguin();
obj.add(p);
}
}
最佳答案
数组没有 add
函数,您正在考虑集合。
当你有一个特定大小的数组时,你可以设置该数组的索引:
Object[] arr = new Object[2];
arr[0] = /* your object */;
//...
Object yourObj = arr[0]; //returns that object
正如 @SubhrajyotiMajumder 所指出的,尝试调用类的方法的本地实现:
this.add(yourObj);
从那里可能会重构代码,以便您每次都编辑相同的数组,而不是本地创建的数组。
关于java - 为什么我无法将对象添加到 Object[] 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22755754/