首先泛型是用来约束的(或者说是规范化),泛型的本质是参数化类型,不是用来通配的(这个说法也不完全对),这个概念一定不要混淆了。
你添加的元素是String类型的,那么你的代码就得这样:
ArrayList<String> arr = new ArrayList<String>()或者:
List<String> arr = new ArrayList<String>() // 多态,推荐使用再或者:
List arr = new ArrayList()ArrayList arr = new ArrList() // 这两种没有用泛型,编译器会提示警告
用上面1和2方式的话,你的arr集合就只能存放String类型对象,3没有用泛型,什么类型的对象都可以存放。只是取出来的时候,会要类型转换,这个过程很容易出错。
希望我的回答能对你有所帮助,荣幸之至。
你写错了,是engineers 不是englineersengineers.Add(wang)
engineers.Add(li)
engineers.Add(wangwu)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)