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.

  • Una buena forma de acceder a palabras mixtas de 8/16/32 bits
  • Declaraciones en el constructor de Kotlin
  • La habitación de Android no devuelve nada con url como parámetro
  • La compilation del comstackdor Kotlin falla en Raspberrypi2
  • Conversor de Java a Kotlin y arguments de método nulable
  • Android Dagger: no puedo proporcionar una class externa sin el constructor @Inject
  • Android: refactoriza muchos grupos de botones de radio en una actividad
  • La propiedad incluye / excluye en las classs de datos de Kotlin
  • ¿Por qué no puede procesar daga estos kotlin generics?
  • 'x' no es una function al pasar parameters en Kotlin Javascript
  • Kotlin con JPA: infierno de constructor pnetworkingeterminado