HashMap::entry
的签名是:
pub fn entry(&mut self, key: K) -> Entry<'_, K, V>
好的,看起来不错.我想从HashMap中获取一个键为K
的条目,所以我当然需要给它一个K
.
然而,HashMap:get
的签名是:
pub fn get<Q>(&self, k: &Q) -> Option<&V>
where
K: Borrow<Q>,
Q: Hash + Eq + ?Sized,
现在我完全糊涂了.这个复杂的约束是怎么回事?为什么不是K
或&K
呢?