0

是否可以创建一个包含类的新实例的 ArrayList,然后使用该 ArrayList 访问给定类中的方法?这是一个更清楚的例子:

ArrayList<myOtherClassName> myClassObjects= new ArrayList<myOtherClassName>();
myClassObjects.add(new myOtherClassName());
myClassObjects.indexOf(1).methodInOtherClass();

然而,这行不通!有没有办法实现我想要的?

4

3 回答 3

2

采用:

ArrayList<myOtherClassName> class1 = new ArrayList<myOtherClassName>();
class1.add(new myOtherClassName());
class1.get(0).methodInOtherClass();

你需要:

  • 调用 .get() 方法而不是 .indexof()

indexof 方法返回索引,而不是列表中的值/对象。

另外,总是写

List<myOtherClassName> class1 = new ArrayList<myOtherClassName>();

代替

ArrayList<myOtherClassName> class1 = new ArrayList<myOtherClassName>();

ArrayList 是 List 的实现,您应该始终创建接口类型的对象,而不是实现类的对象。

于 2013-04-19T11:13:06.437 回答
1

不要使用类作为变量。

indexOf()将返回一个整数。get()改为使用

ArrayList<myOtherClassName> mylist = new ArrayList<myOtherClassName>();
mylist.add(new myOtherClassName());
mylist.get(0).methodInOtherClass();
于 2013-04-19T11:17:38.630 回答
0

@奥利弗-R ...

Try Below Code 

ArrayList<myOtherClassName> myClassObject = new ArrayList<myOtherClassName>();
myClassObject.add(new myOtherClassName());
myClassObject.get(0).methodInOtherClass();

the method methodInOtherClass() return type is void it will not return any thing other
于 2013-04-19T11:30:22.610 回答