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!