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

建设企业网站公司热点新闻事件

建设企业网站公司,热点新闻事件,做网站要怎么找单,外贸网站设计公司在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://www.dtcms.com/wzjs/333287.html

相关文章:

  • 进一步加强门户网站建设的通知接app推广
  • wordpress 测试数据包简单网站建设优化推广
  • 阳城网站建设网站优化推广seo公司
  • 网站开发目录过多的缺点品牌网络推广方案
  • 常德政府网站站长培训机构管理系统
  • 网站建设工期时间表软件外包公司有哪些
  • wordpress 只更鸟翻页设置哈尔滨网络推广优化
  • wordpress讨论吧seo优化关键词排名优化
  • 网站如何做百度才会收录国际免费b站
  • 厦门做网站找谁创建属于自己的网站
  • 上海高端网站定制开发免费制作网站平台
  • 网站建设扬州淘宝关键词怎么做排名靠前
  • 手机网站建设比较好的公司免费奖励自己的网站
  • 如何做资讯网站廊坊seo外包
  • b站推广计划自媒体是什么
  • 西宁公司官方网站建设短网址在线生成
  • 做宠物商品的网站郑州网站建设外包
  • 百家号如何给网站做推广宣传软文范例
  • 想要学做网站谷歌网站网址
  • 网站备案需要关闭网站吗哈尔滨seo优化软件
  • 双语网站费用地推项目发布平台
  • 机房托管河南seo
  • 济南网站建设价格专业seo培训
  • 公司黄页企业名录在哪里查石家庄seo代理商
  • 游戏设计培训机构有哪些seo优化外包公司
  • 重庆网站建设c教育培训机构管理系统
  • 济南网站优化推广方案网络推广运营
  • WordPress公众号扫码登录seo软件简单易排名稳定
  • cve wordpress邯郸seo推广
  • 用ssh做的简单网站快手流量推广网站