带泛型的集合是比如List并在类中定义一个泛型的数组E[] arr,非泛型的一个则是List,然后明确在List中定义一个具体类型的数组type[] arr. 泛型: class X { ... E field; public void x1(E arg) {} public E x2() {} public void x3() {E[] arr;}}
可以限定泛型的范围,比如class X,就是X的E必须是一个Y的子类或接口实现 这样泛型的灵活在于E可以是任意类型,你不必为了同样的类只是处理数据类型不同而写两遍: 比如: class A {public static int max(int a, int b) {return aclass B {public static double max(double a, double b) {return a 只要class C> {public static E max(E a, E b) {return a.compareTo(b)<0?b:a;}} 使用C和C就可以直接定义A和B