Java泛型

什么是泛型:由一组固定的常量组成的类型

 为什么要使用泛型,

List arrayList = new ArrayList();
arrayList.add("aaaa");
arrayList.add(100);

for(int i = 0; i< arrayList.size();i++){
    String item = (String)arrayList.get(i);
    Log.d("泛型测试","item = " + item);
}

 以上代码在编译器没有任何问题,但是执行后会出现运行异常,java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String,

通过泛型可以优化这个问题,编译器就提示错误,提示类型错误。

泛型主要用于解决类型转换问题:

  • 泛型变量
        E e;
        
        E[] es;
        
        List<E> lists;
  • 泛型方法
public <T>T getSomething(){
            System.out.println("泛型方法");
            return null;
        }
  • 泛型类
//如果类中存在泛型变量,类必须声明为泛型类
//如果类中存在泛型函数,可以将类声明为泛型类也可以将函数声明为泛型函数
          
public class genericUtils<E>{
    
    E e;
    
    E[] es;
    
    List<E> lists;
    
    public <T>T getSomething(){
        System.out.println("泛型方法");
        return null;
    }
    }
}

原文地址:https://www.cnblogs.com/big-data-sky/p/10997515.html