I have this method
public List> ConvertReportCases (ArrayList> stats)
It is an interface implementation where the return type is a List>. In general how do I convert from a nested ArrayList to List in Java?
Thanks
Edit
Thanks for the suggestions I could make my parameter passed as List but then it would be wrong since the caller will have to pass it as List, whereas in my particular case I could have different versions (polymorphism) to check this issue.
解决方案
Really, there is no converting needed.
If you can't touch the declaration of the list, you should change the method signature to this. It uses wildcards.
public List extends List> convertReportCases(List extends List> stats);
However, the most clean way would be to change the method signature to
public List> convertReportCases(List> stats);
And declare the list as
List> list = new ArrayList>();
for (List sublist : list) {
sublist = new ArrayList();
}
If you use List methods, you will be ok, there will be no converting needed. And since ArrayList is-a List and is practically only useful for its List methods, you should be ok!
本文讨论了在Java中如何将嵌套的ArrayList转换为List。建议的方法是通过更改方法签名,使用通配符或者直接创建新的List实例。详细介绍了如何在不进行实际转换的情况下实现这一目标,同时强调了正确处理类型的重要性。
7285

被折叠的 条评论
为什么被折叠?



