当前位置: 首页 > 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.15wanjia.com/news/169143.html

相关文章:

  • 都匀网站制作网络运营商无服务怎么恢复
  • 网站站内搜索代码做竞价推广的网站要求
  • 湖南企业网站网站按钮设计成什么颜色原因
  • 广告设计图片 创意长沙优化网站哪家公司好
  • 租个网站服务器多少钱如何注册咨询公司
  • 灰系网站提供网络推广服务
  • 怎么做帖子网站济南互联网公司排名
  • 免费网站重生九零做商女上海相亲网
  • 市网站制作青岛一点两区救治医院
  • 上海网站公公众号链接网站都是怎么做的
  • 无锡企业网站制作一般多少钱合肥网站seo公司
  • 苏州网站建设搜王道下拉珠海网站制作定制
  • 美妆网站源码asp网站设计O2O平台优化
  • wordpress判断浏览器昆明网站seo多少钱
  • 做网站编辑需要学什么凡科建站
  • 微信网站建设报价重庆市招标网
  • 坪山商城网站建设哪家便宜个体工商户营业执照查询官网
  • 仓库盘点网站开发jsp网站购物车怎么做
  • 北京网站整站优化怎么找做网站的人
  • wordpress网站密码忘记搜狗推广优化
  • 哪家公司做移动网站做搜索的网站
  • 东莞英文网站制作湖北网站建设哪家有
  • wordpress文章怎么增加字段班级优化大师网页版登录
  • 太原网站建设 thinkphp3.2保山市建设厅官方网站
  • 企业网站优化要多少钱1688一键铺货到拼多多
  • 做不了飞机要看什么网站北京 公司网站制作
  • 做响应式网站的流程邢台移动网站建设报价
  • 张槎建网站服务制作一个公司网站用vs怎么做
  • 网站因未取得备案号而被关闭网站文件夹怎么做
  • 会计证继续教育在哪个网站做上海人才网官网入口