向上转型的问题?
为什么这样转型会出错呢?ArrayList a=new ArrayList();
a.add("张三");
a.add(123);
int s=(int)a.get(1);//这里出错
a.get(1)为什么是Object类型的呢?它为什么会自动向上转型?为什么改成String s=(String) a.get(1);就不会报错呢?
第一句有错吗?为什么有的人是这样写的:ArrayList<string> a=new ArrayList<string>()的呢?
两种写法有什么区别吗?