我有以下型号:
1 RepositoryDTO可以有许多ResourceDTO,并且在每个ResourceDTO中都是一个TeamDTO。
为了从RepositoryDTO获取TeamDTO,我正在做以下事情:
RepositoryDTO repoDTO = ...
List<TeamDTO> teamsLinkedToRepo = getTeamsLinkedTo(repoDTO);
private List<TeamDTO> getTeamsLinkedTo(final RepositoryDTO repository) {
final List<TeamDTO> teamsLinkedToRepository = new ArrayList<TeamDTO>();
for (final ResourceDTO resourceDTO : repository.getResources()) {
teamsLinkedToRepository.add(resourceDTO.getTeam());
}
return teamsLinkedToRepository;
}
我只是想知道这样做有更好的习惯用法,也许是使用谷歌番石榴?
答案 0 :(得分:8)
简单易懂。
我们在其中一个项目中过度使用了Google Guava。虽然代码更少,阅读速度更快,但在调试时却成了一场噩梦。所以我建议不要使用它,直到你从中获得巨大的优势(简单的for循环不会更好用它)。
使用纯Java,它是很好的代码。没有必要改进它。
答案 1 :(得分:1)
好的代码,如Chris所述,只有在可能的情况下才会进行一次小的更改,如果团队数量可能很大,您可以考虑使用新的ArrayList
初始化新的ArrayList(Integer)
,以避免正在重建的底层数组。潜在地:
new ArrayList<TeamDTO>(repository.getResources().size());