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.

  • ¿Por qué los types de datos generics algebraicos requieren `T` en los types de miembros?
  • Conectando a DB por hibernate en el proyecto de kotlin
  • ¿Por qué no puedo poner el {de una class anónima en una nueva línea en Kotlin?
  • Información de Facebook no se muestra
  • Kotlin "Cualquier tipo que implemente una interfaz"
  • Cuando se utiliza Java / Kotlin para la progtwigción, se recomienda utilizar la recursion de queue o la versión iterativa. ¿Hay alguna diferencia en el performance?
  • ClassMapper: Sin setter / field para aBooleanType
  • Error al ejecutar un servlet de Apache Tomcat escrito en Kotlin
  • DoubleClick utiliza Kotlin programáticamente frente a la emisión val no se puede reasignar
  • ¿Cómo anular las properties de las classs de Java en Kotlin?
  • Kotlin comtesting null dos veces en caso de que no