2

実際には、複数のタイプの ArrayList を処理できる関数を作成したいと考えています。

public void someFunction(Class ArrayList<protocol>) {
    ArrayList<?> object = new ArrayList<protocol>;
}

そのようなもの、何かアドバイスはありますか?

4

2 に答える 2

1

それはあなたを助けるかもしれません..

public class TestClass {

    public void function(List<? extends Object> temp){

        ArrayList<? extends Object> obj=(ArrayList<? extends Object>) temp;


        }
}

次に、異なるタイプのパラメーターを使用して、この方法でこの関数を呼び出すことができます。

        TestClass test= new TestClass();

        test.function(new ArrayList<String>());
        test.function(new ArrayList<Integer>());
        test.function(new ArrayList<TestClass>());
于 2013-06-07T07:29:07.483 に答える
0

おそらくジェネリックの力を探していると思います。次のようなものが役立つかもしれません:

public class MyClass<T>
{
  public void someFunction(ArrayList<T> myArray)
  {
   ... //do anything with generic T array.
  }
}

次に、MyClass を簡単にインスタンス化someFunctionし、コンパイルセーフなコーディングでメソッドを呼び出すことができます。

幸運を

于 2013-06-07T07:15:05.933 に答える