对于以下代码:
ArrayList<String> ar = new ArrayList<String>();
ar.add(45);
和
ArrayList<String> ar = new ArrayList();
ar.add(45);
我在行ar.add(45)
中遇到编译时错误:
cannot find symbol
symbol : method add(int)
location: class java.util.ArrayList<java.lang.String>
al.add(45);
^
这两段代码都因输入无效而失败。那么为什么编译器会针对第二段代码发出未经检查或不安全操作的警告?