当前位置: 首页 > news >正文

网站建设夬金手指排名壹柒福田网站(建设深圳信科)

网站建设夬金手指排名壹柒,福田网站(建设深圳信科),中关村手机报价大全,网站开发是打代码吗1. 枚举 枚举是在JDK1.5以后引入的。主要用途是:将一组常量组织起来,在这之前表示一组常量通常使用定义常量的方式: //用public static final修饰常量 public static final int RED 1; public static final int GREEN 2; public static f…

在这里插入图片描述


1. 枚举

枚举是在JDK1.5以后引入的。主要用途是:将一组常量组织起来,在这之前表示一组常量通常使用定义常量的方式:

//用public static final修饰常量
public static final int RED = 1;
public static final int GREEN = 2;
public static final int BLACK = 3;

但是常量列举也存在不合理的地方,当我们想要一个数字1,但是此时RED所代表的值就是1,我们如何确定我们想要用到的是我们定义的常量RED还是单纯的数字1呢?这样的情况下,我们引入了枚举类型,用来表达我们所需要的特殊信息。

1.1 定义

所有的枚举类都默认继承Enum类,也就是说所有的枚举类都是是 java.lang.Enum 的子类

//枚举是个特许的类
修饰符 enum 枚举类名{枚举实例,...,...;
}

示例:

enum Color {RED,GREEN,BLUE;//枚举实例//方法...
}

Java中的枚举实际上就是一个类,也就是说我们在定义枚举类的时候,不仅可以在前面声明枚举实例,还可以定义字段和方法。
实例:

public enum Color {  RED("红色",1),GREEN("绿色",2),BLUE("蓝色",3);  private String name;  private int key;  //枚举的构造方法默认是私有的private Color (String name,int key) {  this.name = name;  this.key = key;  }  public static Color getEnumKey (int key) {  for (Color t : Color.values()) {  if (t.key == key) {  return t;  }  }  return null;  }  public static void main(String[] args) {  System.out.println(getEnumKey(1));  }  
}

运行结果如下:
在这里插入图片描述

这里我们注意到当构造方法是显示提供的有参数的构造方法时,我们的枚举实例也带上了参数,否则编译报错;这是因为我们上面的枚举实例其实就相当于我们普通类调用对应的构造方法实例对象的过程,只不过实例的过程是在枚举类中进行,这是为了确保了枚举常量的唯一性和一致性

总结:

枚举实例时在枚举类加载时自动创建的,不能在枚举类外部创建新的枚举实例,这是因为构造方法是私有的:枚举类的构造方法被声明为 private,这意味着只有枚举类内部可以调用它来创建实例。外部代码无法调用这个构造函数。

1.2 用途

1. switch

使用枚举,能让我们的代码可读性更强。

public static void main(String[] args) {  Color color = Color.GREEN;  switch (color) {  case RED:  System.out.println("red");  break;        case BLUE:  System.out.println("blue");  break; case GREEN:  System.out.println("green");  break;        default:  System.out.println("没有这个枚举实例");break;  }  
}

2. 常用方法

Enum类中的常用方法

方法名作用
values()以数组形式返回枚举类型的所有成员
ordinal()获取枚举成员的索引位置
valueOf()将普通字符串转换为枚举实例,存在这个枚举实列就返回这个枚举实例,不存在就抛出异常
compareTo()比较两个枚举成员在定义时的顺序
public static void main(String[] args) {  Color[] colors = Color.values();  for (int i = 0; i < colors.length; i++) {  System.out.println(colors[i] + " " + colors[i].ordinal());  }  System.out.println("=========================");  System.out.println(Color.valueOf("GREEN"));  //System.out.println(Color.valueOf("WHILE"));//抛出异常  System.out.println("=========================");  //拿到枚举实例BLUE  Color color1 = Color.BLUE;  //拿到枚举实例RED  Color color2 = Color.RED;  System.out.println(color1.compareTo(color2));  
}

在学习完枚举后,我们可以思考以下问题:

为什么枚举实现单列模式是安全的?
枚举在反射中被过滤了,不能通过反射获取枚举类的实例

http://www.yayakq.cn/news/838461/

相关文章:

  • 怎么提升网站的流量什么是网络营销环境的外部因素
  • 安阳网站建设价格太原哪个网站制作最好用
  • php做的网站论文做网站排名大概要多少
  • sem网站做推广推广文章的推广渠道
  • 营口市组织部两学一做网站郑州网站建设鹏之信
  • 吉林省住房城乡建设厅网站flash网站设计
  • 七星彩的网站怎么做的html5 手机 网站
  • 境外网站 icp备案wordpress 搬瓦工
  • 如何做DJ网站婚纱设计工作室
  • 有做国外网站推广吗朋友圈网站广告怎么做
  • 网站建设与管理专业就业方向网站建设 实例
  • 网站内容规划怎么写wordpress实现圈子功能
  • 巴州住房和城乡建设局网站本地邵阳网站建设
  • 营销型网站案例 注册公司app软件下载入口
  • wordpress制作视频站wordpress出现两个首页
  • 如何查看一个网站做的外链wordpress添加联系qq
  • 优化网站费用阿里云免费网站备案
  • 网站系统建设的目标廊坊做网站厂商定制
  • 企业门户网站的意义哪里有网站建设公司
  • 公司手机网站开发wordpress 添加文章
  • 贵阳优化网站建设石家庄企业logo设计
  • 吉林省建设厅价格信息网站论企业网站建设的好处的文献
  • 群晖搭建wordpress固定链接东莞网站seo技术
  • 重庆网站设计方案广州做包包的网站好
  • 深圳展览设计网站建设免备案域名解析
  • 做头像的网站空白如何免费域名
  • 沈阳企业做网站网络培训远程教育平台
  • 对网站建设有什么样意见广州大型网站建设公司排名
  • 哪些网站设计的高大上连山区网站建设
  • 余姚 网站建设在线生成个人网站免费观看