1

method可能であれば、別のメソッドからa を呼び出すにはどうすればよいreturnですか?

例えば...

class Example {
    public static void main(String[] args) {
        Point t1 = new Point(0,0);
        Point t2 = new Point(0,1);
        ArrayList pointContainer = new ArrayList();
        pointContainer.add(0,t1);
        pointContainer.add(0,t2);    // We now have an ArrayList containing t1 & t2
        System.out.println(pointContainer.get(1).getLocation()); // The problem area
    }
}

不適切に記述された例では、 のインデックス アイテム 1 でgetLocation()メソッド ( の一部)を呼び出そうとしています。java.swing.awtpointContainer

プログラムをコンパイルしようとすると、次のエラーが発生します...

HW.java:20: error: cannot find symbol
        System.out.println(test.get(1).getLocation());
                                  ^
  symbol:   method getLocation()
  location: class Object

誰かがこの問題を手伝ってくれませんか。

4

2 に答える 2

4

最初に、ArrayList を入力して、Java がそこから出てくるオブジェクトを認識できるようにします。

List<Point> pointContainer = new ArrayList<Point>();

次に、その ArrayList から取得するオブジェクトはすべて typePointになるため、それらに対して操作を実行できます。

于 2012-06-21T00:19:33.800 に答える
1

あなたの場合、に明示的にキャストしてからPoint、目的のメソッドを呼び出す必要があります。それ以外の場合は、@Makoto で言及されているように、配列リストを Java ジェネリックの方法で定義する必要があります。

キャスティング方法は

((Point)pointContainer.get(1)).getLocation()

于 2012-06-21T00:26:06.413 に答える