泛型基础

泛型:在类、接口、方法上用“<>”来描述,表示一种类型,“<>”中写一种类型,不一定非是一种具体的类型,也可以使用任意字符代替,但此时仅仅表示一种类型。

 作用:1、限定当前的数据类型;
            2、简化代码
 注意:1、jdk1.5之前没有泛型;
            2、在jdk1.5后,规定在集合上必须使用泛型,否则会出现警告。
            3、在集合中使用了泛型后,此集合就只能存在该类型;
            4、使用迭代器遍历集合时,迭代器也需要加泛型;
            5、不可以在static成员上使用;
            6、泛型应用与方法的参数上时,那么代表传递的参数是什么类型,泛型就是什么类型;
 优点:1、提高了程序的安全性;
            2、将运行期遇到的问题转移到编译期;
            3、省去了类型强转的麻烦(不使用泛型的集合不管数据是什么类型遍历出来的都是object类型);
            4、泛型类的出现优化了程序设计。
 缺点:集合本身能够存放多种类型数据的优点被屏蔽。
 
 泛型可以使用通配符“?”:
例:

import java.util.ArrayList;
import java.util.List;
public class Demo {
 public static void main(String[] args) {
  List<String> list = new ArrayList<String>();
  list.add("a");
  list.add("b");
  list.add("c");
  List<Integer> list2 = new ArrayList<Integer>();
  list2.add(1);
  list2.add(2);
  list2.add(3);

  //如果show方法中参数列表的泛型不用通配符,那么list和list2两种不同数据类型的集合就不可能同时使用show方法
  show(list);
  show(list2);
 }
 public static void show(List<?> list){
  System.out.println(list);
 }
}

注:通配符常用方法:
   1、?  extends E     代表类型是E类型或E的子类类型
   2、?  super  E     代表类型是E类型或E的父类类型



==============================================

希望能与更多的java程序员共同学习

扣扣联系:2531977855

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值