泛型与枚举

java枚举:

一,枚举型常量

  枚举是一个特殊的Class,相当于final static 修饰,不能被继承,它的构造方法强制被私有化,所有的枚举都继承自java.lang.Enum类,枚举对象不能再继续继承其他类.

  每个枚举变量都是枚举类colorEnum的实例,每个成员变量都是final static修饰 

二,带参数的枚举

public enum Ch2 {

    PC("电脑"),
    MID("平板电脑"),
    PHONE("手机");

    private String name;

    Ch2(String name) {
        this.name = name;
    }
}

三:

定义枚举类的关键字是enum,而不是enum,所有关键字都是小写的,在定义枚举项时,多个枚举项之间使用逗号分隔,最后一个枚举项后需要给出分号!

四,Enum中的方法

1,int compare To(E e) 比较枚举常量在枚举类中声明的顺序

2,boolean equals(Object o): 比较两个枚举常量是否相等

3,int hashCode() :返回枚举常量的hashCode

4,String name():返回枚举常量的名字

5,int ordinal():返回枚举常量在枚举类中声明的序号,第一个枚举常量序号为0;

6,String toString();把枚举常量转换成字符串

7,static T valueof(Class enumType,String name):把字符串转换成枚举常量.

五,枚举类的构造器

枚举类的构造器默认都是private修饰,而且只能是private,因为枚举类不能让外界来创建

枚举常量必须在枚举类中所有成员的上方声明.创建枚举项就等于调用本类的无参构造器

六,

枚举类和正常类一样,可以有实例变量,实例方法,静态方法等等,只不过它的实例个数有限制,不能再创建实例而已

枚举类中还可以有抽象方法


泛型:

E e :Element元素

T T :Type 类型

不使用泛型的好处:

集合不使用泛型,默认的类型就是Object类型,可以存储任意类型的数据

弊端就是不安全,会引发异常

使用泛型的好处:

避免了类型转换的麻烦,存的是什么类型,取出的就是什么类型,把运行期异常提示到了编译期

弊端:泛型是什么类型,就只能存储什么类型的数据

泛型定义在方法的修饰符和返回值类型之间

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

通配符:?

代表任意的数据类型.此时只能接收数据,不能往集合中存储数据

不能创建对象使用,只能作为方法的参数使用

一道练习题:

下面关于泛型的描述中错误的一项是?()

(A)、“? extends 类”表示设置泛型上限;

(B)、“? super 类”表示设置泛型下限;

(C)、利用“?”通配符可以接收全部的泛型类型实例,但却不可修改泛型属性内容; (D)、如果类在定义时使用了泛型,则在实例化类对象时需要设置相应的泛型类型,否则程 序将无法编译通过

答案: 解析:在实例化对象时,如果不指定泛型,则自动识别为Object类

点 个 赞 吧 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值