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.

  • Hace Cualquiera == Objeto
  • TornadoFX con TestFX cierra la vista después de cada TestCase
  • Kotlin crea una instancia de la list inmutable
  • Tema de cierre de PlaceAutoCompleteFragment
  • subclass val para usar en el constructor base
  • Cómo implementar TornadoFX WebEngine Callback en Kotlin
  • ¿Por qué Kotlin tiene MetaData en el file de class Kotlin?
  • Kotlin - Sobrecarga del operador de invocación de la function
  • Clase abstracta Kotlin java IllegalAccessError
  • Operaciones de transmisión diferida y reference no resuelta para transmisión ()
  • ¿Cómo continuar el procesamiento después de que ocurra un error en RxJava 2?