猿问

在for循环Java内部中断while循环

自己找到了解决方案:更改了 getAllFiles 方法,如下所示:


InetAddress ip = null;

@RequestMapping("/getAllFiles")

    public ResponseEntity<List<String>> getAllFiles(@RequestParam String panelName) {


        try {

            ip = InetAddress.getLocalHost();

        } catch (UnknownHostException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }


        List<String> fileNamesList = panelFileListMap.get(panelName);

        if (fileNamesList != null) {

            List<String> allFiles = fileNamesList.stream()

                    .map(fileName -> MvcUriComponentsBuilder

                            .fromMethodName(ContentResource.class, "getFile", fileName, panelName)

                            .host(ip.getHostAddress()).build().toString())

                    .collect(Collectors.toList());

            return ResponseEntity.ok().body(allFiles);

        } else {

            throw new RuntimeException("No images are uploaded in category = " + panelName);

        }

    }


侃侃尔雅
浏览 257回答 2
2回答

胡子哥哥

在 if 条件中使用 break 语句并将布尔值设置为变量。在 for 循环结束后检查该布尔变量的状态。如果为真,则使用 break 语句跳出 while 循环。while (!(list.contains("NORTH SOUTH") || list.contains("SOUTH NORTH") || list.contains("WEST EAST") || list.contains("EAST WEST"))) {&nbsp; &nbsp; boolean conditionChecker=false;&nbsp; &nbsp; for (int i = 0; i < list.size(); i++) {&nbsp; &nbsp; &nbsp; &nbsp; for (int k = i + 1; k < list.size(); k++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (list.get(i).contains("NORTH") && list.get(k).contains("SOUTH") ||&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; list.get(i).contains("SOUTH") && list.get(k).contains("NORTH") ||&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; list.get(i).contains("WEST") && list.get(k).contains("EAST") ||&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; list.get(i).contains("EAST") && list.get(k).contains("WEST")) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; list.remove(i);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; list.remove(k - 1);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; conditionChecker=true;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; if(conditionChecker==true){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; }

冉冉说

可能的重复项:&nbsp;Break while
随时随地看视频慕课网APP

相关分类

Java
我要回答