java泛型和枚举
来源:互联网 发布:携程 知乎 编辑:程序博客网 时间:2024/05/16 06:52
泛型:
泛型的本质是参数化类型,所操作的数据类型被指定为一个参数。
这种参数类型还可以用在类,接口和方法的创建中,分别被称为泛型类,泛型接口,泛型方法。
泛型实现了类型安全的代码 ,增强了代码的可读性。
泛型的好处就是在编译的时候检查类型的安全,并且所有的强制类型转换都是自动和隐式的,提高代码的重用率。
泛型类可以有多个类型参数。
泛型的类型参数可以是自定义类型,不能是简单类型(不能是基本类型)。
定义泛型方法时,必须在返回值前面加个<T>,来声明这是一个泛型方法,持有一个泛型T,然后在可以用泛型T作为方法的返回值。
泛型的参数类型可以使用extends语句。
泛型的参数类型还可以是通配符类型。
package lianxi;import java.io.PrintStream;import java.util.ArrayList;public class lianxi10 {public static void main(String[]args){ArrayList<String>list = new ArrayList<String>();list.add("12345");list.add("上山打老虎");list.add("老虎没打到");list.add("打到小白鼠");printList(System.out,list);System.out.println();ArrayList<Integer> list2 = new ArrayList<Integer>();list2.add(111);list2.add(222);list2.add(333);list2.add(444);}public static void printList(PrintStream out, ArrayList<String> list) {// TODO Auto-generated method stubfor (int i = 0, n = list.size(); i < n; i++) {if (i > 0) {out.print(", ");}out.print(list.get(i).toString());}} }
枚举:
枚举其实就是一种类型,跟int,char类型,差不多,就是定义变量时限制输入的,你只能够赋enum里面规定的值。
用关键字enum来定义一个枚举类。
所有的枚举类继承自java.lang.Enum。
枚举就是一个类(class),还是一个不可被继承的final类。
这些枚举值都是public static final的,也就是我们所定义的常量方式,所以说枚举类中的枚举值最好全部大写。
既然枚举是一个类(class),那么在枚举类型中就有构造器,方法和数据域。
构造器只在构造枚举值的时候被调用。
构造器只能有私有private,不能有public构造器。
实际上enum也是一个类,只不过java编译器帮我们做了语法的解析和编译而已。
可以把enum当成一个普通的类,它们可以定义一些属性和方法。
不一样的是enum不能使用关键字exdents继承其他类。
因为enum是单一继承,已经继承了java.lang.Enum。
使用规则:
如果只有单独一个值的时候,还是把这个任务留给常量吧。
如果定义了一组值,而这些值中的任何一个都可以用于特定的数据类型,那么枚举用在这个地方再合适不过了。
package lianxi;public class lianxi11 { public static void tell(Season a) { switch(a) { case Spring: System.out.println(a+"春"); break; case Summer:System.out.println(a+"夏"); break; case Fall:System.out.println(a+"秋"); break; case Winter:System.out.println(a+"冬"); break; } } public static void main(String[] args) { for(Season a:Season.values()) { System.out.println(a); } } } enum Season { Spring,Summer,Fall,Winter; }
- java泛型和枚举
- Java中的泛型和枚举
- Java中的枚举和泛型复习
- Java中的泛型和枚举
- Java基础知识笔记:泛型和枚举
- 泛型和枚举
- 枚举和泛型
- 泛型和枚举
- java 学习笔记 8 泛型和枚举
- 黑马程序员——Java基础--- 枚举和泛型
- java枚举和注解
- java 枚举和javaBean
- Java枚举和注解
- 枚举类型和泛型
- Java枚举,Java泛型详解
- java枚举和switch案例
- java静态导入和枚举
- effective java(枚举和注解)
- 各向异性滤波算法+数学模型分析
- linux学习笔记016
- ThinkPHP关于多表查询
- 数组存储对象
- 安全加固____XSS攻击
- java泛型和枚举
- 深入理解ajax系列第三篇——响应解码
- 常用JavaScript
- kali2.0 滚动版ibus配置和fcitx配置
- 顺时针打印矩阵-----防止混乱,可一圈一圈的打印。
- [置顶] iOS流媒体开发之一:总结系统提供的接口
- linux设置定时任务
- 人脸识别opencv3.1 for python(基于LBH)
- CSDN上如何便捷高效的转载他人文章