2012-02-27 7 views

risposta

13

Per lo stesso motivo che Map.remove accetta un argomento Oggetto, che viene spiegato here e here.

Questo motivo non è né tecnico né storico: è solo ... una ragione oggettivamente ragionevole.

+0

Ma perché Cache non ha un metodo 'get (Object key)'? :) –

+5

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'.) –

+0

Sì, sembra strano si sono conformati all'interfaccia' Mappa' in alcuni punti e non in altri. –

Problemi correlati