package com.Lucky; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; /** * 泛型的应用场景: * 1。如果我们在定义类/方法/接口的时候,类型不确定,可以定义为泛型类/泛型接口/泛型方法 * 2. 如果类型不确定,但是知道指定的范围,可以使用泛型的通配符?【进行类型范围的限定】 * * * 泛型类:在类名称的后面加上<数据类型>:例如 test<Integer> * 泛型方法:在方法的修饰符的后面加上<数据类型>:例如 static<Integer> * 泛型接口:在接口名称的后面加上<数据类型>:例如 Amail<Integer> */ /** * 在泛型中不能写基本数据类型 * 泛型中的类型不能继承,但是数据可以继承 */ /* 泛型的通配符: ? 表示不确定的数据类型,可以进行数据类型的限定 1. ? extends E :可以传递E类型或E类型的子类类型 2. ? super E :可以传递E类型或E类型的父类型 */ /* 不用泛型时,存储数据 结论:没有给集合指定类型,会默认所有的数据类型都是Object类型 在此时可以往集合添加所有类型的数据 坏处:获取数据时,因为数据也是Object类型数据,所以无法使用数据的特定方法。 使用泛型: 可以在添加数据的时候将数据类型进行统一 获取数据时节省了强制转换的步骤 每天一个小知识:java中的泛型是伪泛型 */ public class GenericsDemo { public static void main(String[] args) { ArrayList li=new ArrayList(); li.add(1); li.add("NB"); li.add(new double[10]); ArrayList<String> li1=new ArrayList<String>(); li1.add("10"); //遍历获取数据 Iterator it = li.iterator(); while (it.hasNext()){ System.out.println(it.next()); } } }
标签:ArrayList,数据类型,li,Genericcs,泛型,add,类型,之泛,集合 From: https://www.cnblogs.com/Lucky-only/p/16975196.html