我知道我可以使用ArrayList,但我不明白为什么我不能将Object intance添加到以下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);
}
}
答案 0 :(得分:3)
Arrays没有add
功能,您正在考虑收藏。
如果您有特定大小的数组,则可以设置该数组的索引:
Object[] arr = new Object[2];
arr[0] = /* your object */;
//...
Object yourObj = arr[0]; //returns that object
正如@SubhrajyotiMajumder所指出的,试着打电话给你的班级&#39;本地实施方法:
this.add(yourObj);
从那里可能有重构代码,这样你每次都在编辑同一个数组,而不是你在本地编写的那个。
答案 1 :(得分:3)
答案 2 :(得分:2)
Object
类没有任何名为add
的方法。它是一个数组,所以你需要使用索引来放置对象。
同样创建一个Object数组并不是一个好主意,除非你真的需要这样做。更好地使用集合。
答案 3 :(得分:1)
答案 4 :(得分:1)
obj
是一个数组,您可以按
obj[0] = object1;
答案 5 :(得分:0)
你需要在那里提到对象数组索引而不是add方法。
obj [array index] = p;