Java集合框架详细总结 (4)

弊端:泛型是什么类型只能存储什么类型的数据。

 public static void main(String[] args) {
         List<String> list = new ArrayList();// 规范了数据类型,只能放字符串!
         list.add("小明");
         list.add("小红");
         //stringList.add(123);// 除了字符串以外的类型不能加,报错!
         for (int i = 0; i < list.size(); i++) {
        String s = list.get(i); // 不用再强转了
             System.out.println(s);
        }
    }
 

在上述的实例中,我们只能添加String类型的数据,否则编译器会报错。

3.3泛型的定义与使用 泛型类

定义格式:

 修饰符 class 类名<泛型变量>{
 
 }
 // 注:泛型变量建议使用E、T、K、V

例如:

 public class Box<T> {
 
   private T t;
 
   public void add(T t) {
     this.t = t;
  }
 
   public T get() {
     return t;
  }

参考示例:

Java集合框架详细总结

注:在创建对象时确定泛型的类型

 

泛型方法

定义格式:

 修饰符 <泛型变量> 返回值的类型 方法名称(形参列表){
  //方法体
 }

注:含有泛型的方法,在调用的时候确定泛型的数据类型

传递什么类型的参数,泛型就是什么类型

参考示例:

Java集合框架详细总结

泛型接口

定义格式:

 public interface 接口名<泛型类型> {
     
 }

使用方式1:定义接口的实现类,实现接口,并且指定接口的泛型

Java集合框架详细总结

 

使用方式2:接口使用什么泛型,实现类就使用什么泛型,类跟着接口走。

就相当于定义了一个含有泛型的类,创建对象的时候确定泛型的类型。

下图接口同上图接口

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zysxpf.html