是否可以创建一个包含Class的新实例的ArrayList,然后使用该ArrayList访问给定类中的方法?这是一个让它更清晰的例子:
ArrayList<myOtherClassName> myClassObjects= new ArrayList<myOtherClassName>();
myClassObjects.add(new myOtherClassName());
myClassObjects.indexOf(1).methodInOtherClass();
然而,这不起作用! 有没有办法达到我想要的目的?
答案 0 :(得分:2)
使用:
ArrayList<myOtherClassName> class1 = new ArrayList<myOtherClassName>();
class1.add(new myOtherClassName());
class1.get(0).methodInOtherClass();
你需要:
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