次のコードを検討してください。
List<Integer>ints= new ArrayList<Integer>();
lst.add(new Object());//no suitable method found for add(Object)...
このエラーの原因は何ですか? コンパイル時には型消去があり、boolean add (E e)
消去後のメソッドには署名がありますadd(Object o)
。この場合、ompiler がどのように機能するか詳しく書いていただけますか?
では、ブリッジ方式はどうでしょうか。私が理解しているように、ブリッジメソッドには次の実装があります。
boolean add(Object o){return this.add((Integer) o)}