実際には、複数のタイプの ArrayList を処理できる関数を作成したいと考えています。
public void someFunction(Class ArrayList<protocol>) {
ArrayList<?> object = new ArrayList<protocol>;
}
そのようなもの、何かアドバイスはありますか?
実際には、複数のタイプの ArrayList を処理できる関数を作成したいと考えています。
public void someFunction(Class ArrayList<protocol>) {
ArrayList<?> object = new ArrayList<protocol>;
}
そのようなもの、何かアドバイスはありますか?
それはあなたを助けるかもしれません..
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>());
おそらくジェネリックの力を探していると思います。次のようなものが役立つかもしれません:
public class MyClass<T>
{
public void someFunction(ArrayList<T> myArray)
{
... //do anything with generic T array.
}
}
次に、MyClass を簡単にインスタンス化someFunction
し、コンパイルセーフなコーディングでメソッドを呼び出すことができます。
幸運を