List和List<Object>的区别
2016-12-22 16:27
218 查看
List和List<Object>的区别:不严格地说,前者逃避了泛型检查,后者明确告知编译器,它能够持有任意类型的对象。
举例:
现将unsafeAdd()参数改为List<Object>
举例:
public static void main(String[] args){ List<String> strings = new ArrayList<String>(); unsafeAdd(strings,new Integer(42)); String s = strings.get(0); } private static void unsafeAdd(List list, Object o) { list.add(o); }unsafeAdd()第1个List参数可以接收List<String>,编译可以通过,但执行错误。
现将unsafeAdd()参数改为List<Object>
public static void main(String[] args){ List<String> strings = new ArrayList<String>(); unsafeAdd(strings,new Integer(42)); String s = strings.get(0); } private static void unsafeAdd(List<Object> list, Object o) { list.add(o); }unsafeAdd编译不能通过,提示List<Object>类型参数不能接收List<String>参数。
相关文章推荐
- java List<T>和List<Object>的区别
- List<?>和List<T>的区别?以及List 和List<Object>的关系
- C# IEnumerable<T>、IEnumerator<T>、List<T>、ArrayList、[]数组各各的区别
- Dictionary<K,V> 与 List<T> 集合的区别及效率
- 用EL表达式获取List<Map<String,Object>>里面的值
- List<T>与ArrayList的区别
- Ilist<>与List<> 的区别
- 使用Map把sql返回的list<Object>转成需要的实体对象
- 取List<Object> 集合
- List<T>和ArrayList区别
- android 解析webservice List<Object> 填充下拉列表
- 关于List<T>中的Exists 和Contains的区别
- WCF传输List<object>时序列化问题
- WCF传输List<object>时序列化问题
- WCF传输List<object>时序列化问题
- WCF契约中KnowType之 List<object> & object[]问题
- List<object>数组笔记一
- 关于List<T>中的Exists 和Contains的区别
- C# LIST<> ilis<> 区别
- List<Object> 中文排序