4

MultiMapが完全に汎用的ではない理由はありますか?

containsEntry(Object key, Object value)
containsKey(Object key)
remove(Object key, Object value)
removeAll(Object key) 
4

2 に答える 2

4

グアバのマルチマップにも当てはまるこの答えを見てください。また、同じ問題を説明しているKevin Bourrillionのブログエントリ(彼はGuavaのリード開発者です)を読むことをお勧めします(addジェネリック型を使用していることに注意してくださいE)。

本当の違いは、add()は間違ったタイプで呼び出されたときにコレクションに「損傷」を引き起こす可能性があり、contains()とremove()はできないことです。

同様に、Javaコレクションフレームワーク(およびGoogleコレクションライブラリも)のメソッドは、コレクションが破損するのを防ぐ必要がある場合を除いて、パラメーターのタイプを制限することはありません。

于 2012-06-19T09:34:56.770 に答える
1

元のjava.util.Mapインターフェースと同様のインターフェースが必要なためだと思います

于 2012-06-19T06:18:27.093 に答える