集合泛型

  泛型:

好处:1:将运行时候的异常提前到了编译的时候,这样就可以避免运行的时候出现问题。

            2:避免了一些无所谓的强制类型转换。

泛型在集合中最基本的使用规则:

            ArrayList list=new ArrayList<String>();

            泛型中没有多态的概念,不能有大类型和小类型混用。

           左右的类型必须是一样 的,可以只写一边,规范格式只写两边。如果没有指定集合中的类型,那么默认类型是Object。

泛型在方法中的使用

          需求:定义一个方法能够接受任意类型的参数Object并且需要让返回值类型跟实参类型保持一致。

                      自定义一个泛型,就是一个数据类型的占位符,或者可以理解为是一个数据类型的变量。

                     泛型中,不允许使用基本数据类型的,

自定义泛型如何确定

  在方法上使用自定义类型,这个方法的自定义泛型的具体的数据类型,是在调用这个方法,传入实参的时候,知道具体类型,

自定义泛型的名称只要符合标识符规定即可,但是一般情况下习惯或者推荐使用一个大写字母表示泛型,例如:T(type) E(element)。

在类上自定义泛型,不能够使用静态方法,如果静态方法需要使用泛型,那就要在自己的方法中声明这个类型。

数组类型int[].char[], double[] float[], short[]...

泛型接口自定义格式:interface  接口名<生命自定义泛型>{} 

           泛型的上限和下限

  举例:考驾照   18周岁--60周岁      上限是60 下限18

    定义一个方法,这个方法可以接受任意类型 的集合对象,但是这个集合对象中的数据只能是Number或者Number的父类类型的数据。下限就是这个Number。

    定义一个方法,这个方法可以接受任意类型的集合对象,但是这个集合对象中的数据只能是Number或者Number的子类类型的数据。上限就是这个Number。

    定义泛型的上限:?extends Number   匹配继承自Number所有的类型,也就是存储Number其父类类型

            枚举

不同枚举,自己用类实现范围的界定

 语法格式:enum枚举的类名{先定义对应枚举,再写方法}

  1枚举类型是一个特殊的类,final class  枚举类名 extends java.lang.Enum

  2枚举类中的枚举值(man,woman)默认修饰符 public static final.

  3枚举类中的枚举值它的类型是本类类型,Sex类型的对象。

 4枚举的构造方法是private修饰的,编译器会在枚举枚举类内部构造无参的枚举值。

 5枚举是可以有成员变量的,但是只能通过枚举值去访问枚举类型的实例成员变量。

 6枚举类构造的枚举值对象默认是无参构造的,但是可以通过有参数的构造方法来构造,这个有参构造必须是private修饰的。

7枚举也可以有抽象方法,但注意的是枚举值必须要实现抽象方法。

8枚举值必须是枚举类中的第一个语句。

  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值