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ので、それをどのようにコーディングしたかを考えると、1つの方法はオブジェクトをとしてキャストすることです。Object

于 2012-10-06T06:23:19.050 に答える
0

それらをmyclassにキャストする必要があります。

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