首页>新闻详情

正确理解Java的泛型类型

来源:石家庄IT培训学院 时间:2023/3/8 9:12:39

  泛型是将数据类型参数化。(将数据类型作为参数传递)。语法:<数据类型>

  1.1:泛型集合:将数据类型作为集合的参数,集合中每个元素必须都是这个泛型的数据类型。

  1.1.1:泛型集合优点:减少频繁的装箱和拆箱,以及数据类型的判断 。

  1.1.2:泛型集合的特点:一个集合只存一种类型的数据。

  1.1.3:语法:集合类型<数据类型> 集合名=new 集合类型<[数据类型]>();

  eg:public static void main(String[] args) {

  //创建集合对象

  List alist2=new ArrayList<>();

  //向集合中添加元素

  alist2.add(new Cat("胖虎", 2));

  alist2.add(new Cat("大熊", 1));

  alist2.add(new Cat("静香", 3));

  for (Cat a : alist2) {

  System.out.println(a.nickName+","+a.age);

  }

  }

  1.2: 泛型迭代器:将数据类型作为迭代器的参数,迭代出来的每个元素是泛型的数据类型。

  注意:如果是用迭代器遍历泛型集合,那么迭代器一定要用泛型迭代器。

  1.2.1:泛型迭代器的作用:减少频繁的类型转换的问题。

  1.2.2:语法:Iterator<数据类型> 迭代器对象名=集合名.iterator();

  eg:public static void main(String[] args) {

  //创建集合对象

  List alist2=new ArrayList<>();

  //向集合中添加元素

  alist2.add(new Cat("胖虎", 2));

  alist2.add(new Cat("大熊", 1));

  alist2.add(new Cat("静香", 3));

  /*用迭代器遍历集合*/

  //获得集合的迭代器

  Iterator it1=alist2.iterator();

  //先判断迭代器后面是否有元素可迭代

  while (it1.hasNext()) {

  //迭代元素

  Cat ob1=it1.next();

  System.out.println(ob1.nickName+","+ob1.age);

  }

  }

  1.3:泛型类(扩展):将泛型作类的参数来用。

  eg:/**

  * 泛型类,表示泛型,T是数据类型占位符,在类中T当作一种数据类型来用

  * @author sx

  * @version 1.0 2019年8月27日

  * @param

  */

  public class Student {

  /**

  * 姓名属性

  */

  public String sname;

  /**

  * 属性

  */

  public T ss;

  }

  public static void main(String[] args) {

  //创建泛型类的对象

  Student stu1=new Student<>();

  stu1.sname="张三";

  stu1.ss=11;

  //创建泛型类的对象

  Student stu2=new Student<>();

  stu2.sname="李四";

  stu2.ss="哈哈";

  }

  1.4:泛型方法:将数据类型作为方法的参数的类型。

  eg:/**

  * 泛型方法

  */

  public void show(T aa) {

  System.out.println("泛型参数为:"+aa);

  }

  public static void main(String[] args) {

  //创建类的对象

  Hello h1=new Hello();

  //用对象调用泛型方法

  h1.show("我是千锋人");

  h1.show(11);

  h1.show('男');

  }

上一页下一页

推荐课程更多>

免费申请体验课

石家庄IT培训学院

版权所有:名校网

  • 在线咨询
  • 电话咨询
  • 免费试听