gpt4 book ai didi

java - 通过方法参数后转换 ArrayList

转载 作者:行者123 更新时间:2023-12-02 04:39:32 25 4
gpt4 key购买 nike

我有两个ArrayList,一个是ArrayList<A>另一个ArrayList<B> 。我有一个方法,两者大约 95% 相同,所以我想在这两种情况下使用它,而不必为不同的参数编写两个不同的方法。

我可以使用类似下面的东西吗?

public void method( ArrayList<?> list){
if( getListClass == A )
cast list to ArrayList<A>;
else
cast list to ArrayList<B>;
}

提前致谢!

最佳答案

泛型是编译时功能。这意味着运行时的转换没有任何意义。我建议你对待List<CommonAB>哪里CommonAB是A和B共有的接口(interface)。

你能做的是

updateListA(List<A> list) {
commonCode(list);
specificCodeForA(list);
}

updateListB(List<B> list) {
commonCode(list);
specificCodeForB(list);
}

注意:您无法在列表中获取泛型的类型,因为该类型是 ArrayList在运行时,而不是 ArrayList<A>ArrayList<B>

关于java - 通过方法参数后转换 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30331421/

25 4 0