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();

必要がある:

  • .indexof() の代わりに .get() メソッドを呼び出す

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 に答える