voglio usare MutableMap
with defaults:Come usare i wrapper predefiniti?
val myMap = mutableMapOf<String, Set<String>>().withDefault { mutableSetOf() }
ma non posso usare getOrImplicitDefault
metodo perché withDefault
rendimenti MutableMap<String, Set<String>>
tipo. Inoltre, non posso trasmettere l'interfaccia MutableMapWithDefault
perché this is a private interface.
Non riesco a utilizzare il metodo get
perché restituisce un tipo nullable. Va bene perché questo è un metodo sull'interfaccia MutableMap
(inoltre non chiama il callback defaultValue
per prendere il valore predefinito).
Sembra che questa funzionalità non sia correttamente implementata in Kotlin o che io la stia usando male. Quindi, come utilizzare i wrapper withDefault
correttamente?
['SetMultimap'] di Guava (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/SetMultimap.html) o [' LoadingCache'] (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/LoadingCache.html) sembrano più adatti a ciò che stai cercando di realizzare. – mfulton26