java基础-泛型 java泛型这个特性是从JDK 1.5才开始加入的.
为什么会引入泛型 1、适用于多种数据类型执行相同的代码(代码复用)
private static int add(int a, int b) { System.out.println(a + "+" + b + "=" + (a + b)); return a + b; } private static float add(float a, float b) { System.out.println(a + "+" + b + "=" + (a + b)); return a + b; } private static double add(double a, double b) { System.out.println(a + "+" + b + "=" + (a + b)); return a + b; }带泛型的方法
private static <T extends Number> double add(T a, T b) { System.out.println(a + "+" + b + "=" + (a.doubleValue() + b.doubleValue())); return a.doubleValue() + b.doubleValue(); }2、泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编译器会检查类型)
List list = new ArrayList(); list.add("xxString"); list.add(100d); list.add(new Person());引入泛型,它将提供类型的约束,提供编译前的检查:
List<String> list = new ArrayList<String>(); // list中只能放String, 不能放其它类型的元素