实际上,我想创建一个能够处理多种类型的 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>());
我认为您可能正在寻找generics的力量,这样的事情可能会有所帮助:
public class MyClass<T>
{
public void someFunction(ArrayList<T> myArray)
{
... //do anything with generic T array.
}
}
someFunction
然后您可以轻松地实例化 MyClass,并使用编译安全编码调用方法。
祝你好运