12
Da the javadocs:Perché il metodo Cache.invalidate (Object key) di guava non è generico?
public interface Cache<K,V> extends Function<K,V> {
//...
void invalidate(Object key);
//...
}
Perché questo non è reso come un metodo generico:
void invalidate(K key);
C'è una ragione tecnica, una ragione storica, o di qualche altra ragione?
Ma perché Cache non ha un metodo 'get (Object key)'? :) –
Poiché 'Cache.get' e' LoadingCache.getUnchecked' possono causare le voci ad _added_ nella cache, quindi deve essere di tipo 'K' per la stessa ragione per cui' Map.put' deve prendere un chiave di tipo 'K'. Certo, 'getIfPresent' non accetta un' Object' - forza il suo argomento a essere di tipo 'K' - e probabilmente era un giudizio. (Ma 'asMap(). Get' prende ancora un' Object', ed è funzionalmente equivalente a 'getIfPresent'.) –
Sì, sembra strano si sono conformati all'interfaccia' Mappa' in alcuni punti e non in altri. –