Java泛型简述

Posted 张文琪2022

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java泛型简述相关的知识,希望对你有一定的参考价值。

泛型的特点:

  1. 声明泛型时的位置特殊,用<>来声明
  2. 使用方法与其他变量类型没有太大差异
  3. 主要作用是可以让不同的变量类型进行统一操作,包括引用数据类型和对象
  4. 与Object相比的好处有:不需要强制类型转换,提高效率;编译时较安全

带泛型的方法:

//参数可以接收任何数据类型的数组
public  static <E> void print(E[] arrays)
        for(E e: arrays)
            System.out.println(e);
        
 
 //参数只能接收整数数组
 public  static <E extends Integer> void print(E[] arrays)
        for(E e: arrays)
            System.out.println(e);
        
    
    
public static  void main(String[] args)
        Integer[] is = new Integer[]1,2,3;//一样要用引用类型
        Double[] ds = new Double[]1.1,2.2,3.3;
        print(is);
        print(ds);//如果是用第二个print方法,这里会报错


带泛型的类:


public class XX<X extends  Student> 
//X extends  Student  筛选参数类型
//若去掉extends  Student,则可以接收任何变量类型 
    private X x;

    public X getX() 
        return x;
    

    public void setX(X x) 
        this.x = x;
    


//一个简单的实体类
public class Student 
    private Integer sno;
    private String sname;

    public Student(Integer sno,String sname)
        setSno(sno);
        setSname(sname);
    

    public Integer getSno() 
        return sno;
    

    public void setSno(Integer sno) 
        this.sno = sno;
    

    public String getSname() 
        return sname;
    

    public void setSname(String sname) 
        this.sname = sname;
    

    @Override
    public String toString() 
        return "Student" +
                "sno=" + sno +
                ", sname='" + sname + '\\'' +
                '';
    



public static  void main(String[] args)
        XX<Student> xx1 = new XX<>();
        xx1.setX(new Student(111,"李老师"));
        System.out.println(xx1.getX().toString());
        //这里是不是感觉很熟悉,有点类似于List<Student> = new ArrayList<>;


以上是关于Java泛型简述的主要内容,如果未能解决你的问题,请参考以下文章

简述集合框架和数组的区别

think in java 泛型

Java泛型之类型擦除

java教程——泛型

java5新特性(简述十大新特性)

Java使用泛型的困顿