笔记1:关于List<?>和List
2015-10-18 11:30
309 查看
List<?>:
List<?> list;
表示list变量可以引用泛型为任何类型的List,但是list不能调用add()方法添加元素,但可以调用remove()方法删除元素,使用get()方法获取元素返回的Object对象,需要强制转换成对应的类型,如:
List<?> list;
List<String> strList = new ArrayList<String>();
strList.add("abc");
list = strList;//可以
list.add("aa");//不可以
list.add(new Object());//不可以
List<Date> dateList = new ArrayList<Date>();
dateList.add(new Date());
list = dateList;//可以
list.remove(0);//可以
Object o = list.get(0);//可以
Date d = (Date)list.get(0);//可以
List<Date> dList = (List<Date>)list;//可以强制转换
List:
不加泛型的List可以存放任意类型的元素,且各个元素的类型可以不同,可以调用add()方法添加任何类型的元素,使用get()方法获取元素返回的Object对象
List list2;
list2 = strList;//可以
list2.add("aaa");//可以
list2.add(new Date());//可以
List<?> list;
表示list变量可以引用泛型为任何类型的List,但是list不能调用add()方法添加元素,但可以调用remove()方法删除元素,使用get()方法获取元素返回的Object对象,需要强制转换成对应的类型,如:
List<?> list;
List<String> strList = new ArrayList<String>();
strList.add("abc");
list = strList;//可以
list.add("aa");//不可以
list.add(new Object());//不可以
List<Date> dateList = new ArrayList<Date>();
dateList.add(new Date());
list = dateList;//可以
list.remove(0);//可以
Object o = list.get(0);//可以
Date d = (Date)list.get(0);//可以
List<Date> dList = (List<Date>)list;//可以强制转换
List:
不加泛型的List可以存放任意类型的元素,且各个元素的类型可以不同,可以调用add()方法添加任何类型的元素,使用get()方法获取元素返回的Object对象
List list2;
list2 = strList;//可以
list2.add("aaa");//可以
list2.add(new Date());//可以
相关文章推荐
- Java语言学习之标识符
- structs2源码分析
- 一本开发操作系统的精简英文电子档
- 忘记Windows登陆密码怎么办?教你一个简单的破解方法
- softMax(2)---predict实现
- Kali的ZMap安装经验总结
- 【SQL】分组再聚合&ratio_to_report函数
- App打包那点事
- Java之旅多线程学习(一)——线程的实现方式
- 《实战Gradle》序
- 整数因子分解问题
- 给应用程序传递参数
- 病毒的认识
- 功能自动化测试工具列表大全
- LInux 删除驱动
- inet_pton, inet_ntop
- [C++基金会]位计算 游戏开发中的应用
- LeetCode OJ:Combinations (排列组合)
- 网页里面嵌入视频代码
- GitHub 优秀的 Android 开源项目