ArrayList.java是否在没有警告的情况下编译?

时间:2017-12-07 20:19:02

标签: java generics

使用http://www.docjar.com/html/api/java/util/ArrayList.java.html作为参考

  111       private transient Object[] elementData;


  381       public E get(int index) {
  382           rangeCheck(index);
  383   
  384           return elementData(index);
  385       }

在编译时会导致类似" ArrayList.java的警告使用未经检查或不安全的操作。"?

1 个答案:

答案 0 :(得分:0)

elementData(index)是一种方法调用,其返回类型为E(不要与类型为elementData[index]的{​​{1}}混淆),并且该方法会强制转换Object } elementData[index]并禁止警告:

E

因此,您询问的代码不会产生任何警告。