Java—启动无泛型类型的泛型变量;
请您解释一下这些声明之间的区别:Java—启动无泛型类型的泛型变量;,java,generics,Java,Generics,请您解释一下这些声明之间的区别: List<Number> test = new ArrayList<Number>(); List<Number> test1 = new ArrayList(); test.add(new Integer(10)); test1.add(new Integer(10)); //test.add(new Object()); //test1.add(new Object()); List test=newarraylist(
List<Number> test = new ArrayList<Number>();
List<Number> test1 = new ArrayList();
test.add(new Integer(10));
test1.add(new Integer(10));
//test.add(new Object());
//test1.add(new Object());
List test=newarraylist();
List test1=new ArrayList();
增加(新的整数(10));
test1.add(新的整数(10));
//test.add(新对象());
//test1.add(newobject());
add方法的前2次调用工作正常,最后2次调用失败。
除了第二次初始化时的编译警告之外,还有什么其他内容吗
编译时类型安全性基于变量类型(而不是引用的对象类型),我是否理解正确
先谢谢你
编译时类型安全性是基于
变量类型(而不是引用的对象类型)
对
编译时类型安全性是基于
变量类型(而不是引用的对象类型)
是。以下两个声明之间没有运行时差异:
List<Number> test = new ArrayList<Number>();
List<Number> test1 = new ArrayList();
以下两个声明之间没有运行时差异:
List<Number> test = new ArrayList<Number>();
List<Number> test1 = new ArrayList();
我想知道,如果你得到test1的整数,它将是一个对象还是一个整数运行时,它将始终是一个对象,将added(由编译器)转换为Integer(整数)。我想知道,如果你得到test1的整数,它将是一个对象还是一个整数运行时,它将始终是一个对象,将added(由编译器)转换为Integer(整数)