Cómo usar con envoltorios pnetworkingeterminados?

Quiero usar MutableMap con los valores pnetworkingeterminados :

 val myMap = mutableMapOf<String, Set<String>>().withDefault { mutableSetOf() } 

pero no puedo usar el método getOrImplicitDefault porque withDefault devuelve el tipo MutableMap<String, Set<String>> . Además, no puedo convertir a la interfaz MutableMapWithDefault porque esta es una interfaz privada .

Tampoco puedo usar el método get porque devuelve un tipo que admite nulos. Está bien porque este es un método en la interfaz MutableMap (además, no llama a la callback defaultValue para tomar el valor pnetworkingeterminado).

Parece que esta funcionalidad no está implementada correctamente en Kotlin, o la estoy usando mal. Entonces, ¿cómo uso withDefault envolturas withDefault correctamente?

Actualmente, un contenedor devuelto por withDefault solo se puede usar en casos de uso de delegación de properties.

 val map = mutableMapOf<String, Set<String>>().withDefault { mutableSetOf() } var property: Set<String> by map // returns empty set by default 

Parece que en Kotlin 1.1 esto realmente funciona si usas la function getValue () en lugar de la function get() .

Bueno, todas las implementaciones de getOrImplicitDefault networkingirigen t a getOrElseNullable . Quizás intente eso.

  • ¿Cuáles son las reglas de inferencia de punto y coma en Kotlin?
  • Kotlin kovenant succesUi en el hilo equivocado?
  • Referencia no resuelta de Android Studio 3.0: Idiomas admitidos para la class AIConfiguration en Dialogflow (api.ai)
  • Kotlin con stack RxKotlinFX da un error de class de acceso
  • ¿Es posible inicializar una propiedad y afirmarla?
  • Acceder a los parameters de tipo de tipo externo
  • ¿Cómo convierto un Char a Int?
  • Tipo de function de Kotlin en su lugar interfaz funcional lambda
  • ¿Cuál es la anotación @InlineOnly?
  • ¿Por qué algunos methods de configuration de Java se convierten automáticamente en properties de Kotlin pero otros no?
  • Error: Kotlin: no se permiten varios valores para la opción de complemento org.jetbrains.kotlin.kapt: salida