interface ViewableDTO {//methods here}
class PersonDTO implements ViewableDTO {//implementation here}
這工作得很好:
PersonDTO p = new PersonDTO();
ViewableDTO v = p; //works
如何走到這不起作用:
List<PersonDTO> plist = getPersonDtoList();
List<ViewableDTO> vlist = plist; //compilation error
List<ViewableDTO> vlist = (List<ViewableDTO>)plist; //compilation error
我這裏的解決方案是這樣做的:
List<ViewableDTO> vlist = new ArrayList<ViewableDTO>();
vlist.addAll(plist);
我的問題是,這是唯一/最好的方法嗎?