0

嗨,我有一个对象列表,

 myclass obj1 = new myclass();
 myclass obj2 = new myclass();
 obj1.name("hello");
 obj2.name("bye");
 List objectsList = new ArrayList
 objectsList.add(obj1);
 objectsList.add(obj2);

如何访问列表中每个对象的方法?我尝试了以下方法,但我无权访问方法。

Object obj = objectsList.get(1);
obj. <<< no access to methods           
4

3 回答 3

9

您给出的代码甚至不会编译......但是如果您使用泛型,那么当您获取时,您最终会得到强类型元素:

// TODO: Use a better class name which obeys Java naming conventions
// Ditto name => setName
List<myclass> list = new ArrayList<myclass>();
list.add(obj1);
list.add(obj2);

...
myclass obj = list.get(1);
System.out.println(obj1.getName());
于 2012-10-06T06:22:24.220 回答
0

考虑到您的编码方式,一种方法是将对象转换为myclass,因为Object该类没有定义此类方法。

于 2012-10-06T06:23:19.050 回答
0

您需要将它们强制转换为 myclass。

((myclass) obj).methodOfMyClass();
于 2012-10-06T06:27:26.787 回答