Mayur Patil:
Soy nuevo en Java, un poco transición de C # a Java. java.util.function
tiene una interfaz definida como Function
que es introducida en computeIfAbsent
el método de Map
.
Quería definir y delegar esa función a computeIfAbsent
método.
map.computeIfAbsent(key, k => new SomeObject())
funciona, pero lo quería con devolución de llamada donde func. Pero el problema es Function
requiere parámetro de entrada por definir. ¿Cómo puedo configurar a void
o sin argumentos.
map.computeIfAbsent(key, func);
Eran :
computeIfAbsent
siempre tendrá un parámetro de entrada para el pasado Function
- que sería la clave.
Por tanto, como se puede escribir:
map.computeIfAbsent(key, k -> new SomeObject());
También puede escribir (suponiendo que la clave de su Map
ES UN String
):
Function<String,SomeObject> func = k -> new SomeObject();
map.computeIfAbsent(key, func);