String imgName;
for(byte i=0; i<arrayImages.size();i++) {
imgName = arrayImages.get(i).getOriginalFilename().toLowerCase();
if (imgName.indexOf("s-1.")!=-1 || imgName.indexOf("s-2.")!=-1 ||
imgName.indexOf("s-3.")!=-1 || imgName.indexOf("s-4.")!=-1) {
// ничего не делаем
}
else if (imgName.isBlank())
removeSlide(i);
else {
imgName = setCorrectName(imgName, i);
if (imgName!=null) {
// что-то делаем
}
}
String imgName;
for(byte i=0; i<arrayImages.size();i++) {
imgName = arrayImages.get(i).getOriginalFilename().toLowerCase();
if (!(imgName.contains("s-1.") || imgName.contains("s-2.") ||
imgName.contains("s-3.") || imgName.contains("s-4."))) {
if (imgName.isBlank())
removeSlide(i);
else {
imgName = setCorrectName(imgName, i);
if (imgName!=null) {
// что-то делаем
}
}
}
// ничего не делаем
}
continue;
но в этом нет необходимостиarrayImages.stream()
.map(arrayImage -> arrayImage.getOriginalFilename().toLowerCase())
.filter(imgName -> !imgName.matches(".*s-1\\..*|.*s-2\\..*|.*s-3\\..*|.*s-4\\..*")
.forEach(imgName -> {
// Что-то делаем
if (imgName.isBlank())
// removeSlide(i);
else {
// imgName = setCorrectName(imgName, i);
// if (imgName!=null) {
// что-то делаем
// }
}
});
String imgName;
for (byte i = 0; i < arrayImages.size(); i++) {
imgName = arrayImages.get(i).getOriginalFilename().toLowerCase();
if (imgName.isBlank())
removeSlide(i);
continue;
}
if (imgName.matches(".*s-[1-4]\\..*")) {
continue;
}
imgName = setCorrectName(imgName, i);
if (imgName == null) {
continue;
}
// что-то делаем
}
String imgName;
for(byte i=0; i<arrayImages.size();i++) {
imgName = arrayImages.get(i).getOriginalFilename().toLowerCase();
if (imgName.isBlank())
removeSlide(i);
else if (imgName.indexOf("s-1.")!=-1 || imgName.indexOf("s-2.")!=-1 ||
imgName.indexOf("s-3.")!=-1 || imgName.indexOf("s-4.")!=-1) {
assert true; // file exists. Nothing to do.
}
else {
imgName = setCorrectName(imgName, i);
if (imgName!=null) {
// some code...
}
}
indexOf()
на регулярное выражение matches
но оно ни в какую не хочет корректно работать.