Java switch 枚举

Switch中可以使用int,byte,short,char,Enum,String。其中Enum为1.5之后新增特性,String为java8新增特性。本文介绍如何在Switch中使用Enum类型。

在swtich中使用enum,不同于传统switch的地方主要在两个显著的、非细节方面。

案例:

switch (UserAgent.FIREFOX) {
   case (UserAgent.IE):
       fail(UserAgent.IE.toString() + "unexpected.");
}

上面的例子有两个错误:

首先case必须没有括号(使用其他类型时,是可以右括号的),其次必须使用IE 而不是UserAgent.IE(必须使用无限制的枚举名称)。

所以正确的写法应该是下面这样。

switch(UserAgent.FIREFOX) {
   case IE:                                     //case后的值不能使用括号,并且枚举需要使用无限制的名称
       fail(UserAgent.IE.toString() + "unexpected.");
}
时间: 2024-10-15 15:36:53

Java switch 枚举的相关文章

Java核心 --- 枚举

Java核心 --- 枚举 枚举把显示的变量与逻辑的数字绑定在一起在编译的时候,就会发现数据不合法也起到了使程序更加易读,规范代码的作用 一.用普通类的方式实现枚举 新建一个终态类Season,把构造方法设为私有,因为枚举值不能随意增加因为不能new出这个类的对象,所以需要定义成员变量,把new写在类的内部这样,就可以在类的外部通过访问类的静态成员变量的方式访问到枚举值通过这样的方式,只能在类的外部使用在枚举类的内部定义的枚举值 类Season里面是可以有方法的,我们设置地球又公转了四分之一方法

Java中枚举的使用

一. JDK5之前的实现方式 在枚举类型出现之前,java是通过在接口或者类中定义public static final 的变量来实现的. 比如对于四季的描述: --------------------------------------------------------------------------------- public interface Season {    public static final int SEASON_SPRINT = 1;    public stati

java笔记--枚举总结与详解

由于工作原因,已经有两礼拜没有更新博客了,好不容易完成了工作项目,终于又可以在博客园上愉快的玩耍了. 嗯,今天下午梳理了一下关于java枚举的笔记,比较长,不过还是觉得挺厚实的,哈哈,有出入的地方,欢迎朋友们指出来,一起学习,共同进步!! 一.枚举简介:     为什么要用枚举:     枚举是Java1.5出来之后新增的类型,它可以用来定义一组取值范围固定的的变量.     在枚举没有出来之前,要定义这样的变量,往往是通过定义一个接口,将不同的变量     使用不同的整数赋值.但是这样的却有着

Swift和Java在枚举方面的比较

1. 在Swift和Java关于枚举方面,两个语言语法相似. Swift定义枚举: enum CompassPoint{ case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune } Java定义枚举: public enum ColorSelect { red, green, yellow, blue; } 2. 枚举和switch结合使用 Swift代码如下: enum CompassPoint{ case Merc

Java enum枚举类型

java的枚举类型详解: 简单示例: public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 复杂示例(带自定义构造方法与类型) public enum EnumTest { FRANK("The given name of me"), LIU("The family name of me"); private String context; private String getContext(){ return this.

Java开发知识之Java的枚举

Java开发知识之Java的枚举 一丶什么是枚举 枚举可以理解为就是常量,在Java中我们定义常量.都是用 final语句. C++中都是用const关键字. 枚举跟C++概念都是一样的.就是特定的常量而已. 二丶Java中的枚举 java中的常量.一般都是final定义.但是我们讲过.final定义的常量.初始化的时候可以每次给不同的值. 所以加上static 才能保证其内存不会改变.一般常量都是定义在接口中给我们使用的. 可能需要连续定义. 例如: public final static i

java的枚举2

首先先理解一下java中枚举的本质. java的世界中一切皆是类,下面通过一个例子解释一下enum的本质: package cn.xnchall.enumeration; public class Grade { public void test() { print(grade.A); } public void print(grade g) { //print A B C D E } } /*class grade{ private grade(){} public static final

Java中枚举类型的使用

虽然Java中有枚举类型这种数据类型,但是很少用,其实当用到星期.月份.四季等数据集的时候,无疑,枚举类型不仅很方便地解决了整数和字符串的映射问题,而且极大地提高了程序的可读性. 下面就用简单的程序代码来说明这种问题: 1.枚举类型自动赋值,默认情况下枚举变量从前到后分别被赋值为0.1.2.3.4.5....然后用循环的方式将枚举变量的名称和其对应的下标打印出来. /* * @author mnmlist * @date 8/18/2015 * @description of the basic

Java Enum枚举

1.代码 import java.lang.*; // enum showing Mobile prices enum Mobile { Samsung(400), Nokia(250),Motorola(325); int price; Mobile(int p) { price = p; } int showPrice() { return price; } } public class EnumDemo { public static void main(String args[]) {