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) {
// что-то делаем
// }
}
});
Но подразумевается, что всё-таки правильная конструкция должна быть
Singleton single = new Singleton();
Почему нужно было помимо класса String создавать дополнительные классы по типу StringBuilder?
В данном примере строка s спокойно изменяется путем конкатенации, что аналогично sb.append
2. Почему все методы StringBuilderнельзя было поместить в класс String, чтобы не плодить классы строк?
3. Почему s.equals(sb) равно false, если мы сравниваем только значения, а не ссылки
package mypackage.second;
public class SomeClass {
int a;
}
package mypackage.first;
import mypackage.second.SomeClass;
public class Main {
public static void main(String[] args) {
var someClass = new SomeClass();
System.out.println(someClass.a); // a is not public in mypackage.second.SomeClass; cannot be accessed from outside package
}
}
DeferredResult provides an alternative to using a Callable for asynchronous request processing. While a Callable is executed concurrently on behalf of the application, with a DeferredResult the application can produce the result from a thread of its choice.
Subclasses can extend this class to easily associate additional data or behavior with the DeferredResult. For example, one might want to associate the user used to create the DeferredResult by extending the class and adding an additional property for the user. In this way, the user could easily be accessed later without the need to use a data structure to do the mapping.
An example of associating additional behavior to this class might be realized by extending the class to implement an additional interface. For example, one might want to implement Comparable so that when the DeferredResult is added to a PriorityQueue it is handled in the correct order.
По факту заметил, что с DiferredRestult могу указывать сам пул потоков, а с Callable нет.
class Scratch {
public static void main(String[] args) {
var a1 = new A();
var a2 = new A(10);
System.out.println(a1); // A{a=5}
System.out.println(a2); // A{a=10}
}
}
class A{
int a = 5; // default
public A(int a) {
this.a = a;
}
public A() {
}
@Override
public String toString() {
return "A{" +
"a=" + a +
'}';
}
}