JAVA Day25
泛型接口
- 若实现类是泛型类,实现类和接口的泛型类型要一致,若不是泛型类,要明确数据类型。
泛型方法
简单代码
package generic;
import java.util.ArrayList;
import java.util.Random;
public class Demo01 {
public static void main(String[] args) {
//泛型方法的使用
ProductGetter<String> productGetter1 =new ProductGetter<>();
ArrayList<Integer> integerArrayList = new ArrayList<>();
integerArrayList.add(100);
integerArrayList.add(200);
integerArrayList.add(300);
Integer product3 =productGetter1.getProduct(integerArrayList);
System.out.println(product3);
}
}
class ProductGetter<T>{
Random random = new Random();
private T product;//奖品
ArrayList<T> list =new ArrayList<>();//奖池
public void addProduct(T t){//添加奖品
list.add(t);
}
public <E> E getProduct(ArrayList<E> list){//public <E>声明该方法为泛型方法 E该方法的返回类型 getProduct(ArrayList<E>这是一个常用类,是事先定义好的 list)
return list.get(random.nextInt(list.size()));
}
}
- 泛型方法的泛型标识与所在的泛型类泛型标识无关
- 普通成员方法不能设置为静态方法但泛型方法可以
- 泛型方法可以用可变参数