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

我认为您可能正在寻找generics的力量,这样的事情可能会有所帮助:

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

someFunction然后您可以轻松地实例化 MyClass,并使用编译安全编码调用方法。

祝你好运

于 2013-06-07T07:15:05.933 回答