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

单产品网站模板医疗今科云平台网站建设技术开发

单产品网站模板,医疗今科云平台网站建设技术开发,荆州网站建设 松滋网站建设,wordpress后台模版在Java中,enum(枚举)是一个特殊的类,用于表示一组常量。enum类型在Java中提供了一种类型安全的方式来定义常量,相比传统的常量(如public static final变量),它更加简洁、类型安全&am…

在Java中,enum(枚举)是一个特殊的类,用于表示一组常量。enum类型在Java中提供了一种类型安全的方式来定义常量,相比传统的常量(如public static final变量),它更加简洁、类型安全,并且可以包含字段、方法和构造函数。枚举类型继承自java.lang.Enum类,因此它们具有一些内置的方法,例如values()valueOf()

1. 枚举的基本定义

枚举用于定义一组常量。你可以通过enum关键字来定义一个枚举类型。每个枚举常量可以作为该枚举类型的一个实例。

public enum Day {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}

在这个例子中,Day枚举包含了一周的七天常量。每个常量都隐式是Day类型的一个实例。

2. 枚举的基本使用

枚举常量可以直接使用,枚举类型还提供了values()方法,它返回一个包含所有枚举常量的数组。

public class EnumExample {public static void main(String[] args) {Day day = Day.MONDAY;// 使用枚举常量switch (day) {case MONDAY:System.out.println("Start of the work week!");break;case SUNDAY:System.out.println("It's the weekend!");break;default:System.out.println("Mid-week");break;}// 输出所有枚举常量for (Day d : Day.values()) {System.out.println(d);}// 使用 valueOf 方法Day dayFromString = Day.valueOf("MONDAY");System.out.println("Day from String: " + dayFromString);}
}

输出:

Start of the work week!
SUNDAY
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
Day from String: MONDAY

3. 枚举可以有字段和方法

枚举不仅仅包含常量,还可以包含字段和方法。比如,你可以为每个枚举常量添加一些与之相关的数据,或者定义一些方法来处理这些数据。

public enum Direction {NORTH(0), EAST(90), SOUTH(180), WEST(270);private final int degree;// 构造函数Direction(int degree) {this.degree = degree;}public int getDegree() {return degree;}
}public class EnumWithMethods {public static void main(String[] args) {// 输出方向和它们的角度for (Direction direction : Direction.values()) {System.out.println(direction + " has degree: " + direction.getDegree());}}
}

输出:

NORTH has degree: 0
EAST has degree: 90
SOUTH has degree: 180
WEST has degree: 270

4. 枚举的常用方法

values() 方法

values()方法返回包含所有枚举常量的数组。你可以用它来遍历所有的枚举常量。

for (Day day : Day.values()) {System.out.println(day);
}
valueOf(String name) 方法

valueOf()方法将字符串转换为对应的枚举常量。如果传入的字符串与枚举常量名称不匹配,会抛出IllegalArgumentException

Day day = Day.valueOf("MONDAY");
System.out.println(day);  // 输出 MONDAY
ordinal() 方法

ordinal()方法返回枚举常量的序号(从0开始)。它表示枚举常量在声明时的顺序。

System.out.println(Day.MONDAY.ordinal());  // 输出 1

5. 枚举的构造函数

枚举常量可以有构造函数,你可以在构造函数中初始化枚举常量的字段。每个枚举常量都调用该构造函数进行初始化。

public enum Planet {MERCURY(3.303e+23, 2.4397e6), // 第一个常量VENUS(4.867e+24, 6.0518e6),   // 第二个常量EARTH(5.976e+24, 6.3781e6);   // 第三个常量private final double mass;   // 质量private final double radius; // 半径// 构造函数Planet(double mass, double radius) {this.mass = mass;this.radius = radius;}public double getMass() {return mass;}public double getRadius() {return radius;}public double surfaceGravity() {final double G = 6.67300E-11; // 引力常数return G * mass / (radius * radius);}public static void main(String[] args) {for (Planet p : Planet.values()) {System.out.printf("%s: mass = %.2e, radius = %.2e, gravity = %.2f%n",p, p.getMass(), p.getRadius(), p.surfaceGravity());}}
}

输出:

MERCURY: mass = 3.30e+23, radius = 2.44e+06, gravity = 3.70
VENUS: mass = 4.87e+24, radius = 6.05e+06, gravity = 8.87
EARTH: mass = 5.98e+24, radius = 6.38e+06, gravity = 9.81

6. 枚举与switch语句

你可以使用switch语句来基于枚举常量执行不同的代码块。由于枚举类型是类型安全的,switch语句可以确保只有枚举类型的常量才能用于比较。

public class EnumSwitchExample {public static void main(String[] args) {Day day = Day.WEDNESDAY;// 使用switch语句判断当天是周几switch (day) {case MONDAY:System.out.println("Start of the week!");break;case WEDNESDAY:System.out.println("Midweek!");break;case FRIDAY:System.out.println("Almost weekend!");break;default:System.out.println("Weekday!");}}
}

输出:

Midweek!

总结

  • 定义枚举类型:使用enum关键字可以定义枚举类型,表示固定的一组常量。
  • 字段和方法:枚举类型可以有字段和方法,用来处理与枚举常量相关的逻辑。
  • 内置方法values()方法返回所有枚举常量,valueOf()方法根据名称返回对应常量,ordinal()返回常量的序号。
  • 类型安全:枚举提供了一种类型安全的方式来处理常量,避免了传统常量方式可能导致的错误。

通过枚举,你可以在Java中轻松地表示一组常量,并且可以附加更多的逻辑,极大地增强了代码的可读性和可维护性。


文章转载自:

http://Se2svUCm.skcmt.cn
http://5ikFgdJB.skcmt.cn
http://9LqW4WfT.skcmt.cn
http://2kuXePDz.skcmt.cn
http://iMjgdbsj.skcmt.cn
http://g7tyk7Mu.skcmt.cn
http://i0ln9dca.skcmt.cn
http://o7serYEl.skcmt.cn
http://YZMHZiHC.skcmt.cn
http://9qZUgYZJ.skcmt.cn
http://4gzSFt5G.skcmt.cn
http://vinsP6QA.skcmt.cn
http://QudGJutQ.skcmt.cn
http://CnYhMS67.skcmt.cn
http://tTJrL11B.skcmt.cn
http://UOXQhZc8.skcmt.cn
http://HjHE0A5K.skcmt.cn
http://NQsII4WU.skcmt.cn
http://csz3TgLU.skcmt.cn
http://BCGN8vGM.skcmt.cn
http://zlXmKkfq.skcmt.cn
http://gHn7aUJr.skcmt.cn
http://AQUEPBma.skcmt.cn
http://I8J8lNyf.skcmt.cn
http://Ku5J1j9e.skcmt.cn
http://znXUVPcx.skcmt.cn
http://CiZLNnKj.skcmt.cn
http://3htRmDO5.skcmt.cn
http://r48nKjOL.skcmt.cn
http://gvpeUO48.skcmt.cn
http://www.dtcms.com/wzjs/626622.html

相关文章:

  • 建设公司网站需要什么技术个人怎么免费注册公司流程
  • ps做网站首页怎么运用起来做论坛网站需要什么备案
  • 做钢材的都用什么网站企业wap网站模板
  • 电子商务网站规划的原则网络营销方式分析论文
  • 宁波网站推广软件哪家强些九江濂溪区
  • 全国免费自学网站有哪些宽屏营销型网站源码
  • 企业网站功能模块如何用网站首页做404
  • 怎么搭建网站环境配置文件律所网站建设
  • 校园网站制作模板成都网站开发技术
  • 云图书馆平台网站建设网页视频怎么下载到手机相册
  • 网站设计制作收费明细大气网站特点
  • 老年公寓网站模板自己设置网站怎么做
  • 苏州网站排名优化宝塔wordpress内链打开404
  • 欧洲cn2 vps东莞百度seo推广机构
  • 个人做搜索引擎网站违法吗重庆网架加工厂
  • 没有网站怎么做网推营销型企业网站建设哪家好
  • asp网站显示建设中centos7 wordpress搭建
  • 房产中介网站开发模板关于教育网站的策划书
  • wordpress多站点多模板长尾词优化外包
  • 郑州网站建设公司谷雨环江住房和城乡建设部网站
  • 北海做网站工商注册公司查名
  • 云设计关键词优化排名用哪些软件比较好
  • 网站推荐广告模板wordpress使用讨论群
  • 网站建设教程百度网盘wp大学wordpress建站流程
  • 渭南微网站建设平台类网站建设
  • 新服务器做网站网址转app制作生成器
  • 做网站的费用怎么做账wordpress+浏览人数
  • 苏州市建设人才网官方网站wordpress数据库填写
  • 梧州网站推广牛商网朱依静
  • 钓鱼网站怎么制作html九江网站开发公司