Tag: 打字

类型安全的地图分配和检索

我正在尝试代理呼叫Observables和LiveData(类似于中介模式),但我找不到类型安全的解决方案。 这就是问题: class Proxy { private val backupMap = HashMap<LiveData<Any>, Observer<Any>>() fun <T> add(liveData : LiveData<T>, observer : Observer<T>) { // !This is the issue LiveData<Any> is expected backupMap.put(liveData, observer) } fun attach() { backupMap.forEach { (key, value) -> key.observeForever(value) } } } fun addSome() { Proxy().apply { add(MutableLiveData<String>(), Observer { }) } } 我可以将backupMap.put为backupMap.put(liveData […]