HH
Size: a a a
HH
D
Example{
interface Interface<Type>{
void handle(Type t);
}
Map<Class<?>, Interface<?>> items = new HashMap<>();
//ТУТ НУЖНО ЧЕКАТЬ ДОБАВЛЯЕМЫЙ ТИП<Type> void add(Class<Type> typeClass, Interface<Type> typeInterface){
items.put(typeClass, typeInterface);
}
void handle(){
//ТУТ !!!ОШИБКА!!!items.get(String.class).handle(new Object());
}
}```IZ
thenApply, увидеть my = 0? нет, не может, потому что инстанс лямбды захватывает это значение в своё final-полеCompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> 42);где MyFunc - это сгенерированная компилятором лямбда в похожая на
int my = 123;
future.thenApply(new MyFunc(my));
private static class MyFunc implements Function<Integer, Integer> {
private final int my;
private MyFunc(int my) {
this.my = my;
}
@Override
public Integer apply(Integer it) {
return it + my;
}
}VS
VS
thenApply, увидеть my = 0? нет, не может, потому что инстанс лямбды захватывает это значение в своё final-полеCompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> 42);где MyFunc - это сгенерированная компилятором лямбда в похожая на
int my = 123;
future.thenApply(new MyFunc(my));
private static class MyFunc implements Function<Integer, Integer> {
private final int my;
private MyFunc(int my) {
this.my = my;
}
@Override
public Integer apply(Integer it) {
return it + my;
}
}IZ
IZ
DP
thenApply, увидеть my = 0? нет, не может, потому что инстанс лямбды захватывает это значение в своё final-полеCompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> 42);где MyFunc - это сгенерированная компилятором лямбда в похожая на
int my = 123;
future.thenApply(new MyFunc(my));
private static class MyFunc implements Function<Integer, Integer> {
private final int my;
private MyFunc(int my) {
this.my = my;
}
@Override
public Integer apply(Integer it) {
return it + my;
}
}.
IZ
IZ
DP
IZ
IZ
IZ
SI
А
А
SI