St.*_*rio 1 java compiler-construction generics bridge
请考虑以下代码:
List<Integer>ints= new ArrayList<Integer>();
lst.add(new Object());//no suitable method found for add(Object)...
Run Code Online (Sandbox Code Playgroud)
为什么会出现此错误?在编译时我们有类型擦除,boolean add (E e)擦除后的方法将有签名add(Object o).你能否详细说明ompiler在这种情况下的工作原理?
那么桥接方法呢?据我所知,bridge metod具有以下功能:
boolean add(Object o){return this.add((Integer) o)}
Run Code Online (Sandbox Code Playgroud)