ArrayList访问类中的方法

时间:2013-04-19 11:06:37

标签: java class arraylist

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

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

然而,这不起作用! 有没有办法达到我想要的目的?

3 个答案:

答案 0 :(得分: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的一个实现,你应该总是创建类型为interface的对象而不是实现类。

答案 1 :(得分:1)

不要将class用作变量。

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

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

答案 2 :(得分: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