点击蓝字
关注我们
一、 泛型
Java 泛型 是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
1.泛型的好处
安全
泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。
在没有泛型之前,从集合中读取到的每一个对象都必须进行类型转换,如果不小心插入了错误的类型对象,在运行时的转换处理就会出错。
没有泛型的情况下使用集合:
有泛型的情况下使用集合:
有了泛型后,定义好的集合names在编译的时候add(123)就会编译不通过。
消除强制转换
消除源代码中的许多强制类型转换,这使得代码更加可读,并且减少了出错机会。
没有泛型的代码段需要强制转换:
当重写为使用泛型时
2.泛型方法
定义泛型方法的规则:
1.所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前。
2.每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。
3.类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。
泛型标记符:
E – Element (在集合中使用)
T – Type(类)
K – Key(键)
V – Value(值)
N – Number(数值类型)
?- 不确定的类型
3.如何使用泛型
public class 类名 <泛型类型1,…> {
//
}
注意事项: 泛型类型必须是引用类型(非基本数据类型)
定义泛型类,在类名后添加一对尖括号,并在尖括号中填写类型参数,参数可以有多个,多个参数使用 逗号 分隔:
public class Generic Classaaa<a,b,c>{}
public <泛型类型> 返回类型 方法名(泛型类型 变量名) {
//
}
注意:
方法声明中定义的 形参 只能在该方法里使用,而接口、类声明中定义的类型形参则可以在整个接口、类中使用。
二、枚举
Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。
Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。
例如定义一个颜色的枚举类。
enum Color {
RED, GREEN, BLUE;
}
使用实例:
每个枚举都是通过 Class 在内部实现的,且所有的 枚举值 都是 public static final 的。
以上的枚举类 Color 转化在内部类实现:
泛型和枚举知识总结就到这里,希望对大家有所帮助!
END
星辰大海,永不止步