Java泛型

泛型:是一种未知的数据类型,当我们不知道用什么数据类型的时候,可以使用泛型。
泛型也可以看成是一个变量,用来接收数据类型。

E e:Element 元素
T t:Type类型

public boolean add(E e){};
public E get(int index){};

创建集合对象的时候,就会确定泛型的数据类型
ArrayList list=new ArrayList<>();

Java泛型_第1张图片

使用泛型的好处:
1)避免了类型转换的麻烦
2)把运行期异常提升到了编译期

定义含有泛型的类:

public class GenericClass<E> {
    private E name;

    public E getName() {
        return name;
    }

    public void setName(E name) {
        this.name = name;
    }
}

 public static void main(String[] args) {
        GenericClass<String> genericClass = new GenericClass();
        genericClass.setName("aaa");
        String  name = genericClass.getName();
        System.out.println(name);
    }

定义和使用含有泛型的方法:
格式:
修饰符 <泛型> 返回值类型 方法名(参数列表(使用泛型)){
方法体;
}

 public <M> void method(M m)
    {
        System.out.println(m);
    }

定义和使用含有泛型的接口

public class demo04 implements GenericInterface<String> {

    @Override
    public void method(String s) {
        System.out.println(s);
    }
}

泛型通配符 :
?:代表任意的数据类型
使用方式:
不能创建对象使用
只能作为方法的参数使用

泛型没有继承概念:只能使用?代表未知的类型

public  static void printArray(ArrayList<?> list)
{
    iterator<?> it=list.Iterator();
    while(it.hasNext())
    {
        Object obj=it.next();
        sout(obj);
    }
}

你可能感兴趣的:(Java精进,java,编程语言)