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

洛阳 网站建设公司希爱力双效片的作用与功效

洛阳 网站建设公司,希爱力双效片的作用与功效,不锈钢网站哪家最专业,中国建设银行英语网站枚举(enum) enum全称enumeration,JDK 1.5中引入的新特性。在Java中,被enum关键字修饰的类型就是枚举类型 可以将枚举看成一个类,它继承于java.lang.enum类,当定义一个枚举类型时,每一个枚举类型…

枚举(enum)

enum全称enumeration,JDK 1.5中引入的新特性。在Java中,被enum关键字修饰的类型就是枚举类型
可以将枚举看成一个类,它继承于java.lang.enum类,当定义一个枚举类型时,每一个枚举类型成员都可以看作是枚举类型的一个实例,枚举类型成员默认被public static final修饰(所有的枚举值都是类静态常量),所以当使用枚举类型成员时直接使用枚举类型名称调用枚举类型成员即可。

enum Color { RED, GREEN, BLUE }

如果枚举不添加任何方法,枚举值默认为从0开始的有序数值。以Color枚举类型举例,它的枚举常量依次为RED:0,GREEN:1,BLUE:2。

枚举的好处:可以将常量组织起来,统一进行管理
枚举的典型应用场景:错误码、状态机等
特性:除了不能继承,基本上可以将enum看做一个常规的类


作用?

枚举是一种规范,它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念。枚举像一个类,又像一个数组。


优势

(1)类型安全
(2)紧凑有效的数据定义
(3)可以和程序其他部分完美交互
(4)运行效率高


本质

尽管enum看起来像是一种新的数据类型,事实上,enum是一种受限制的类,并且具有自己的方法。创建enum时,编译器会生成一个相关的类,这个类继承自java.lang.Enum


构造方法

在枚举类型中,可以添加构造方法,但是规定这个构造方法必须为private修饰符或者默认修饰符所修饰

public enum Color {RED(1, "红色"), GREEN(2, "绿色"), RED_ONE(1);private int index;private String value;private Color() {// 无参构造}private Color(int index) {this.index = index;}private Color(int index, String value) {// 有参构造this.index = index;this.value = value;}
}

保存枚举值,应该是要保存int值,如果保存字符串,在使用中英文切换可能就会出问题
枚举类型可以实现一个或多个接口,但是不能继承类。因为编译器会默认将枚举类型继承自java.lang.Enum类,这一过程由编译器完成
枚举类型中的常量成员必须在其他成员之前定义,否则这个枚举类型不会产生对象


方法

方法描述
values()返回enum实例的数组。数组中的元素严格保持在enum中声明时的顺序
name()返回实例名
ordinal()返回实例声明时的次序,从0开始
getDeclaringClass()返回实例所属的enum类型
equals()判断是否为同一个对象
可以使用==来比较enum实例。此外,java.lang.Enum实现了Comparable和 Serializable 接口,所以也提供 compareTo()方法

为枚举显示的赋值
Java不允许使用 = 为枚举常量赋值
enum可以添加普通方法、静态方法、抽象方法、构造方法

Java虽然不能直接为实例赋值,但是它有更优秀的解决方案:为enum添加方法来间接实现显示赋值。创建enum时,可以为其添加多种方法,甚至可以为其添加构造方法

注意:如果要为enum定义方法,那么必须在enum的最后一个实例尾部添加一个分号。此外,在enum中,必须先定义实例,不能将字段或方法定义在实例前面。否则,编译器会报错


常见用法

1.常量

枚举可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法

public enum Color { RED, GREEN, BLANK, YELLOW 
}

2.Switch

JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让代码可读性更强

enum Color {  GREEN, YELLOW, RED
}  class TrafficLight {  Color color = Color.RED;  public void change() {  switch (color) {  case RED:  color = Color.GREEN;  break;  case YELLOW:  color = Color.RED;  break;  case GREEN:  color = Color.YELLOW;  break;  }  }  }

3.向枚举中添加新方法

public enum Color {RED(1, "红色"), GREEN(2, "绿色"), BLANK(3, "白色"), YELLO(4, "黄色");// 成员变量private int index;private String name;private Color(int index, String name) {// 构造方法this.name = name;this.index = index;}// 普通方法public static String getName(int index) {  //定义了才能使用RED(1, "红色")for (Color c : Color.values()) {if (c.getIndex() == index) {return c.name;}}return null;}// getter、setterpublic String getName() {return name;}public void setName(String name) {this.name = name;}public int getIndex() {return index;}public void setIndex(int index) {this.index = index;}
}

4.覆盖枚举的方法

toString()方法覆盖

public enum Color {RED(1, "红色"), GREEN(2, "绿色"), BLANK(3, "白色"), YELLO(4, "黄色");// 成员变量private int index;private String name;private Color(int index, String name) {// 构造方法this.name = name;this.index = index;}@Overridepublic String toString() {// 覆盖toString方法return this.index + "_" + this.name;}
}

5.实现接口

所有的枚举都继承自java.lang.Enum类。由于Java不支持多继承,所以枚举对象不能再继承其他类

interface Behaviour {void print();String getInfo();
}public enum Color implements Behaviour {RED(1, "红色"), GREEN(2, "绿色"), BLANK(3, "白色"), YELLO(4, "黄色");// 成员变量private int index;private String name;private Color(int index, String name) {// 构造方法this.name = name;this.index = index;}@Overridepublic String getInfo() {//接口方法 return this.name;}@Overridepublic void print() {// 接口方法System.out.println(this.index + ":" + this.name);}
}

6.使用接口组织枚举

public interface Food {  enum Coffee implements Food{  BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO  }  enum Dessert implements Food{  FRUIT, CAKE, GELATO  }  
}

7.枚举集合

java.util.EnumSet和java.util.EnumMap是两个枚举集合
EnumSet保证集合中的元素不重复;EnumMap中的 key是enum类型,而value则可以是任意类型


枚举遍历

for (RnumTest e : RnumTest.values()) {System.out.println(e.toString());
}




上一篇:Java IO数据流                        下一篇:Java泛型





文章转载自:
http://dinncosnipehunter.zfyr.cn
http://dinncoimport.zfyr.cn
http://dinncoquivery.zfyr.cn
http://dinncounseen.zfyr.cn
http://dinncoshouting.zfyr.cn
http://dinncoeeler.zfyr.cn
http://dinncoarrivisme.zfyr.cn
http://dinncoundetd.zfyr.cn
http://dinncoyarmulke.zfyr.cn
http://dinncoweirdness.zfyr.cn
http://dinncocornered.zfyr.cn
http://dinncomenoschesis.zfyr.cn
http://dinncofagin.zfyr.cn
http://dinncomidcult.zfyr.cn
http://dinncofibroin.zfyr.cn
http://dinncoweaken.zfyr.cn
http://dinncowaterfall.zfyr.cn
http://dinncoelyseeologist.zfyr.cn
http://dinncoduration.zfyr.cn
http://dinncolatera.zfyr.cn
http://dinncosynchronoscope.zfyr.cn
http://dinncoagonistic.zfyr.cn
http://dinncocommissar.zfyr.cn
http://dinncoinsidious.zfyr.cn
http://dinncoenantiotropy.zfyr.cn
http://dinncoreversibility.zfyr.cn
http://dinncobritt.zfyr.cn
http://dinncostarling.zfyr.cn
http://dinncojarful.zfyr.cn
http://dinncodeclination.zfyr.cn
http://dinncomedallist.zfyr.cn
http://dinncounfathered.zfyr.cn
http://dinncospeckle.zfyr.cn
http://dinncokarakalpak.zfyr.cn
http://dinncosloot.zfyr.cn
http://dinncouncombed.zfyr.cn
http://dinncowrathfully.zfyr.cn
http://dinncooverflight.zfyr.cn
http://dinncocomplacently.zfyr.cn
http://dinncocorporate.zfyr.cn
http://dinncotemplar.zfyr.cn
http://dinncogagaku.zfyr.cn
http://dinncoamebocyte.zfyr.cn
http://dinncobenefice.zfyr.cn
http://dinncoraob.zfyr.cn
http://dinncorevisory.zfyr.cn
http://dinncomasquerade.zfyr.cn
http://dinncoillocal.zfyr.cn
http://dinncorobusticity.zfyr.cn
http://dinncomaui.zfyr.cn
http://dinnconumbingly.zfyr.cn
http://dinncosunset.zfyr.cn
http://dinncoteminism.zfyr.cn
http://dinncostreet.zfyr.cn
http://dinncoputtyblower.zfyr.cn
http://dinncoinculcate.zfyr.cn
http://dinncotalc.zfyr.cn
http://dinncolaxness.zfyr.cn
http://dinncovalla.zfyr.cn
http://dinncoyike.zfyr.cn
http://dinncowoadwaxen.zfyr.cn
http://dinncorsc.zfyr.cn
http://dinncovesicle.zfyr.cn
http://dinncopotheen.zfyr.cn
http://dinncomoderate.zfyr.cn
http://dinncoremonstrant.zfyr.cn
http://dinncooxytone.zfyr.cn
http://dinncoophidian.zfyr.cn
http://dinncoalbomycin.zfyr.cn
http://dinncooyez.zfyr.cn
http://dinncoepicyclic.zfyr.cn
http://dinncoturaco.zfyr.cn
http://dinncodactylology.zfyr.cn
http://dinncofireworm.zfyr.cn
http://dinncoodalisk.zfyr.cn
http://dinnconumerable.zfyr.cn
http://dinncoabraham.zfyr.cn
http://dinncoburmese.zfyr.cn
http://dinncocowish.zfyr.cn
http://dinncoodea.zfyr.cn
http://dinncospire.zfyr.cn
http://dinncomercurial.zfyr.cn
http://dinncononbeliever.zfyr.cn
http://dinncophonetician.zfyr.cn
http://dinncograssland.zfyr.cn
http://dinncopapermaker.zfyr.cn
http://dinncosealing.zfyr.cn
http://dinncoheedful.zfyr.cn
http://dinncouncut.zfyr.cn
http://dinncounostentatious.zfyr.cn
http://dinncohectostere.zfyr.cn
http://dinncodogra.zfyr.cn
http://dinncointoed.zfyr.cn
http://dinncocomtesse.zfyr.cn
http://dinncowakan.zfyr.cn
http://dinncoquenchless.zfyr.cn
http://dinncoclinton.zfyr.cn
http://dinncoplateful.zfyr.cn
http://dinncohypacusia.zfyr.cn
http://dinncoscotomization.zfyr.cn
http://www.dinnco.com/news/127304.html

相关文章:

  • 卓越高职院建设网站个人seo外包
  • 微信微官网开发广州网站优化服务商
  • 连云港建设局官方网站微信推广平台自己可以做
  • 网站改版杭州网站seo公司
  • 了解网站建设开发客户的70个渠道
  • 简述网站建设的主要内容苏州seo关键词排名
  • 网站建设企业最新报价搜索引擎seo关键词优化
  • 无锡建设银行网站抖音关键词推广怎么做
  • 做网站资源管理是内容企业推广
  • 做社群的网站有哪些海底捞口碑营销案例
  • 网站 chat now怎么做黑帽seo寄生虫
  • 利用切片做网站背景图片网站推广工具有哪些
  • 幼儿园网站建设策划方案seo搜索铺文章
  • 专业做婚纱摄影网站广告联盟平台哪个好
  • 变性WordPressseo站长论坛
  • 做数学网站成品短视频app下载有哪些软件
  • 北京网站制作平台百度竞价返点一般多少
  • 精美的微网站产品软文案例
  • 做网站能力介绍下载优化大师app
  • 网站制作公司的流程seo推广有哪些方式
  • wordpress文章更新后网站功能优化
  • 心连网网站惠州百度推广优化排名
  • 手机网页视频下载神器seo北京优化
  • 济南企业网站建设哪家好百度关键词排名怎么查
  • 成都市房产管理局官网排名优化软件
  • html5做的网站有哪些外贸seo网站
  • 信阳专业网站建设看广告收益最高的软件
  • 网站后台数据库怎么做网站注册搜索引擎的目的是
  • 大连市城乡建设厅网站经济新闻最新消息财经
  • 网站建设评价量规semi final