List<String>为何不能赋值给List<Object> 本帖最后由 sparic 于 2014-06-20 17:03:04 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 List<String> a = null; List<?> bNew = a; 泛型的类型要一样的。这个是可以的。 String a = null; Object bNew = a; LIST集合里放的东西必须是一样的,是继承关系也不行 List<Object>是List<String>的父类?如果你能找到依据,你再这么使用。语法教你的只有Object是String的父类,泛型的地方就不适用。 明白你的意思,但如果把List<Object>实例化成一个ArrayLIst<Object>的泛型,就没问题,且能运行正常。String a = "a"; Integer b = 1;// List<?> bNew = a; List<Object> t = new ArrayList<Object>(); t.add(a); t.add(b); for(Object m : t) { System.out.println(m); } }这个又有什么概念在里面呢? 求各位大师指点! List<Object> 和List<String> 其实是相同的东西,这里的Object 和 String 仅仅是给编译器做编译的时候检查用的。这里的List<Object> 和List<String> 并没有什么父子类的关系,仅仅是表示一个用来装Obejct型对像,一个用来装String。 这种转换只能在子类与父类之间转换,虽然Object是String的父类,但是List<Object>和List<String>在编译器看来,是两种完全不同的东西,不允许你这样转换。如果一定要这么转换,可以像下面这样。 public static void main(String[] args) { List<String> a = null; List<Object> b = convert(a, Object.class); } @SuppressWarnings("unchecked") public static <T> List<T> convert(List<?> list, Class<T> c) { return (List<T>)list; } 求救MySql模糊查询问题 JAVA 转化成ascii码 我是一个初学者,望大家帮助哈我啊!谢谢... 正则表达式 匹配文件名后缀 这两句代码有什么不同? Java与C++的继承重载方法访问的区别? 基础问题,运行时出现java.lang.NullPointerException 请问谁有俄罗斯方块的源代码! 哪有清华java版的精华版download? 最短路径,顶点对频率的统计 求帮助,为什么我的登录界面输入用户名和密码后无法转到主界面 请教问题关于 jar打包问题
List<?> bNew = a;
这个是可以的。 String a = null;
Object bNew = a;
如果你能找到依据,你再这么使用。
语法教你的只有Object是String的父类,泛型的地方就不适用。
明白你的意思,但如果把List<Object>实例化成一个ArrayLIst<Object>的泛型,就没问题,且能运行正常。String a = "a";
Integer b = 1;
// List<?> bNew = a;
List<Object> t = new ArrayList<Object>();
t.add(a);
t.add(b);
for(Object m : t) {
System.out.println(m);
}
}这个又有什么概念在里面呢? 求各位大师指点!
这里的List<Object> 和List<String> 并没有什么父子类的关系,仅仅是表示一个用来装Obejct型对像,一个用来装String。
public static void main(String[] args) {
List<String> a = null;
List<Object> b = convert(a, Object.class);
}
@SuppressWarnings("unchecked")
public static <T> List<T> convert(List<?> list, Class<T> c) {
return (List<T>)list;
}