2 jgt insect jgt_insect 于 2016.03.10 08:27 提问

枚举有什么好处?为什么要用枚举?

枚举有什么好处?为什么要用枚举?枚举有什么好处?为什么要用枚举?枚举有什么好处?为什么要用枚举?

6个回答

luochoudan
luochoudan   Ds   Rxr 2016.03.10 09:43
已采纳

1 出于类型安全考虑。没有枚举类之前常用静态常量来表示,如
public static final MAN = 0;
public static final WOMAN = 1;
这样的性别定义实际上是一个整型数据,完全可用来做加减运算,当然我们原意并非如此。

2 解决意义不明确。比如调试程序时,本来想输出性别男,结果输出了个0,不是自己写的完全不知道其意义,用枚举类就完美解决了。

3 代码更优雅。一个大一些的程序里面,可能要用到成百上千的静态常量,如果全写在一个文件里面,容易造成命名混淆,程序读起来也比较麻烦。

4 定义自己的类型。如完全可以用enum SEX来包含上面的两种类型,岂不更爽?

一般使用枚举类,出于这几个因素吧。

lx624909677
lx624909677   Ds   Rxr 2016.03.10 08:48

在一定程度上减少代码量,方便对连续数据的修改,只改第一个就可以

qq_20039385
qq_20039385   2016.03.10 09:05

首先枚举是单列,而且不可系列化,不可反射的。当属性的内容已经确定,不会经常修改的时候,就可以考虑用枚举,列如性别有男,女就可以用枚举来实现

lianshaohua
lianshaohua   2016.03.10 09:11

枚举便于记忆和使用,并且相当于一个接口,封装了内部的数据类型,并且限定了数据域

lianshaohua
lianshaohua 回复丶early_worm: 安全
2 年多之前 回复
jgt_insect
jgt_insect 限定数据区域的好处是什么?
2 年多之前 回复
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.10 09:50

枚举类的实例数量是固定的,而且通常可以理解为同一类的常量集合,枚举类可以作为switch语句的参数的。

dcxy0
dcxy0   Ds   Rxr 2016.03.10 10:06

枚举一般很少修改,意义更明确(相对于定义一堆变量来说)

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
枚举如何使用?有什么用处? enum
1.枚举类型更规范,在函数形参定义为枚举类型的时候,只接受枚举类型的常量。比起普通的更安全 枚举类型成员默认被public static final修饰 class EnumTest { public static void doit(int val){ //可以接受任何参数 switch(val){ case ConstantsI.Constants_A: Sy
JAVA枚举的作用与好处
枚举是一种规范它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念 枚举像一个类,又像一个数组。 Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。 当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。  1.它不能有pu
enum 枚举的作用
在实际应用中,有的变量只有几种可能取值。如人的性别只有两种可能取值,星期只有七种可能取值。在 C 语言中对这样取值比较特殊的变量可以定义为枚举类型。所谓枚举是指将变量的值一一列举出来,变量只限于列举出来的值的范围内取值。 定义一个变量是枚举类型,可以先定义一个枚举类型名,然后再说明这个变量是该枚举类型。例如: enum weekday{sun,mon,tue,wed,thu,fri,sat};
C++之枚举类型的作用
枚举类型是一种用户定义的类型,常用yu
浅谈在Java开发中的枚举的作用和用法
枚举(enum),是指一个经过排序的、被打包成一个单一实体的项列表。一个枚举的实例可以使用枚举项列表中任意单一项的值。枚举在各个语言当中都有着广泛的应用,通常用来表示诸如颜色、方式、类别、状态等等数目有限、形式离散、表达又极为明确的量。Java从JDK5开始,引入了对枚举的支持。 在枚举出现之前,如果想要表示一组特定的离散值,往往使用一些常量。例如: package com.fhp.enume
iOS 定义具有位移操作的枚举的意义
经常看到系统内使用位移操作的枚举定义,一直不是很清楚其用意。今天在看SDWebImage源码的时候,在纸上稍微计算了一下,才明白其中用意。 定义枚举类型的关键字有以下几种:enum, NS_OPTIONS, NS_ENUM. 其中,enum是c语言的枚举关键字,后两者都是通过宏定义的枚举关键字。NS_ENUM是通用情况,而NS_OPTIONS一般用来定义具有位移操作或特点的情况(bit
枚举类型理解和作用
每一个枚举都是一个对象,可以调用不同的构造函数,类中的方法,toString方法,等……package Text;
Python中枚举的使用
本文转自(http://www.cnblogs.com/ucos/p/5896861.html)1.枚举的定义 1.首先枚举要导入enum模块,实现代码:from Enum import enum 2.枚举定义用class关键字,继承Enum类 3.用于定义枚举的class和定义类的class是有区别代码示例:from Enum import enum class Color (Enum):
C# 枚举在项目中使用心得
阅读目录 基本介绍使用注意使用方法扩展用法     本文主要是我在项目中对C#枚举的使用心得,如有不足的地方欢迎您指出。 一、基本介绍    枚举是由一组特定常量构成的一组数据结构,是值类型的一种特殊形式,当需要一个由指定常量集合组成的数据类型时,使用枚举类型。枚举声明可以显式地声明 byte、sbyte、short、usho
枚举的理解和应用场景
一、枚举的理解    1. 关于枚举,我个人的理解是枚举即穷举,是某个类的有限集合,它的对象个数不可由程序员增减,它的对象在一个枚举类生成的时候已经确定。    2. 枚举的创建使用关键字enum,这意味着每个枚举类型的类都是java.lang.Enum 抽象类的子类。每个枚举类型的对象的创建都将调用java.lang.Enum中的protected Enum(String name,int or...