なぜMyDamnedUnclearList.remove()
メソッドが(or ) をとらObject element
ないのか知っている人はいますか?T element
V extends T element
int
とInteger
Java の両方の型が混在するバグを見つけるのに 2 時間を費やしました (List<Thread>
リスト内...
なぜMyDamnedUnclearList.remove()
メソッドが(or ) をとらObject element
ないのか知っている人はいますか?T element
V extends T element
int
とInteger
Java の両方の型が混在するバグを見つけるのに 2 時間を費やしました (List<Thread>
リスト内...
この問題は、既存のコードと仕様の下位互換性に関係しています。
Map.get(Object key) が (完全に) ジェネリックではない理由は何ですか?
そのすべてはJavadocの詳細にあります:
boolean remove(Object o)
指定された要素の 1 つのインスタンスが存在する場合は、このコレクションから削除します (オプションの操作)。より正式には、(o==null ? e==null : o.equals(e)) となる要素 e を削除します (このコレクションにそのような要素が 1 つ以上含まれている場合)。このコレクションに指定された要素が含まれていた場合 (または、呼び出しの結果としてこのコレクションが変更された場合) は true を返します。
したがって、オブジェクトが等しいというだけで同じ型を持っているかどうかは問題ではないことがわかります。