有一个方法是 saveCountryIslands,它接受一个字符串数组参数。有一个实体是国家和岛屿。我一直在尝试使用 jpa 保存提供的岛屿标题列表.save()。现有的方法体已经在工作了(你可以看到下面的代码)。有没有更有效的方法来做到这一点?private void saveCountryIslands(String[] islandNames){ List<Islands> listOfIsland = new ArrayList<>(); Country country=new Country(); Stream.of(islandNames).distinct().forEach(islandNamesFromArray -> { Islands islands = new Islands(); islands.setIslandName(islandNamesFromArray); listOfIsland.add(islands); }); country.setCountryIslands(listOfIsland); countryRepository.save(country);}
1 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
您可以通过使用构造函数来提高可读性的一个小变化:
public Islands(String name) { this.name = name; }
然后将现有代码重构为:
List<Islands> listOfIsland = Stream.of(islandNames) .distinct() .map(Islands::new) .collect(Collectors.toList()); // collect 'toSet' depending on compatibility
添加回答
举报
0/150
提交
取消