某网站的安全建设方案,怎么看网站用的什么cms,专业网站建设软件,17做网店广州货源网java集合有个缺点——将一个对象放进集合之后#xff0c;该对象的编译类型就会变成Object类型#xff08;其运行时类型不变#xff09;编译时不检查对象的类型。 泛型概念#xff1a;java的参数化类型#xff0c;即在创建集合时指定集合元素的类型。 如#xff0c;List该对象的编译类型就会变成Object类型其运行时类型不变编译时不检查对象的类型。 泛型概念java的参数化类型即在创建集合时指定集合元素的类型。 如ListString strListnew ArrayListString(); 后面的String可省略不写 strList.add(5); 会引起编译错误因为已经指定strList 集合存放的数据类型为String类型了不能存放其他类型的对象。输出时不用强制类型转换。 泛型实质允许在定义接口、类和方法时使用类型形参类型形参将在声明变量、创建对象和调用方法时动态的指定。 1 public class AppleT {2 private T info;3 public Apple(){ 4 } // 构造器名依然为Apple而不是AppleT5 public Apple(T info){6 this.infoinfo; 7 }8 9 public static void main(String[] args) {
10 AppleString a1new Apple(苹果);
11 System.out.println(a1.info);
12 AppleDouble a2new Apple(23.56);
13 System.out.println(a2.info);
14 }
15
16 } 从泛型类派生子类 可以从带泛型声明的接口、类中创建其实现类或继承类此时使用这些接口或类时不能包含类型形参 public class A extends AppleT{} 此处为错误写法 public class A extends AppleString{} 此处为正确写法 public class A extends Apple 使用类或接口时也可以不形参传入实参 调用方法是必须为所有的数据形参出入参数值。 不能在静态方法、静态变量和静态代码块的声明和初始化中使用类型参数。 public class BT {static T t1;public static void study(T t1){ }
} 转载于:https://www.cnblogs.com/peng111/p/5648436.html