-2
即使滿足條件,控件也不退出循環。如果recipientEmailAddressList
大小大於1,並且即使第一次嘗試本身爲foundEmail
,它也不會退出循環。這個while循環有什麼問題? 請告訴我下面的代碼有什麼問題。即使條件滿足,控制也不退出循環?
do {
if(reTry>=1){
Thread.sleep(15000);
}
response = RestAssured.given().accept("application/json").get(url);
String responseBody = response.asString();
JsonPath jsonPath = new JsonPath(responseBody);
List<String> recipientEmailAddressList = jsonPath.get("recipientEmail");
System.out.println("receipeinet email list size "+recipientEmailAddressList.size());
for (int i=0;i<recipientEmailAddressList.size();i++) {
if(recipientEmailAddressList.get(i).equalsIgnoreCase(studentEmail)){
System.out.println(recipientEmailAddressList.get(i));
List<Object> rawRequest = jsonPath.get("rawRequest");
JsonPath rawRequestJsonPath = new JsonPath(rawRequest.get(0).toString());
String claimURL=rawRequestJsonPath.getString("parameters.claim_url");
NewTempData.storedata(6, 1, claimURL);
System.out.println("Credential Claim URL "+claimURL);
foundEmail = true;
}else{
foundEmail = false;
}
}
reTry++;
} while (reTry < 30 &!foundEmail);
if(foundEmail){
return true;
}
對於我第一次嘗試用&&只有但當左手條件真正的(!foundEmail)當我得到的響應它不退出循環繼續。所以嘗試與&但這個alos不能解決這個問題。 –
@ CraigR8806當操作數是布爾值時,單個'&'*確實*表示比較,當左側是'false'時它不會快捷。即評估'false&2> 1'的右側,而'false && 2> 1'則不是這種情況 – NickL