考虑以下代码:
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)}