List<String>为何不能赋值给List<Object>

来源:互联网 发布:mac os sierra降级 编辑:程序博客网 时间:2024/06/04 20:41

今天有个同事让我一个接口供我调用,这个接口里的一个方法类似于:set(List<Object> param),也即参数类型是List<Object>


我有几个方法要调用这个接口,实参类型都类似于:List<String>、List<Long>。结果调用发现报错,参数类型不匹配。


纳闷了好久,一开始猜想的是Object类型虽然是String  Long的父类,但是List<Object> param不是List<String>、List<Long>的父类,结果上网一查果然验证猜想是正确的。


其实这个方法改成泛型的比较好,让他改成泛型set(List<T> param) ,问题解决!

原创粉丝点击