猿问

我想知道,有没有更有效的方法来做到这一点

有一个方法是 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);


}


RISEBY
浏览 145回答 1
1回答

神不在的星期二

您可以通过使用构造函数来提高可读性的一个小变化:&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Islands(String&nbsp;name)&nbsp;{&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.name&nbsp;=&nbsp;name; &nbsp;&nbsp;&nbsp;&nbsp;}然后将现有代码重构为:&nbsp;&nbsp;&nbsp;&nbsp;List<Islands>&nbsp;listOfIsland&nbsp;=&nbsp;Stream.of(islandNames) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.distinct() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.map(Islands::new) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.collect(Collectors.toList());&nbsp;//&nbsp;collect&nbsp;'toSet'&nbsp;depending&nbsp;on&nbsp;compatibility
随时随地看视频慕课网APP

相关分类

Java
我要回答