枚举是一种特殊的“类”,代表一组常量(不可更改/只读变量)。
要创建枚举,请使用enum关键字(而不是类或接口),并用逗号分隔枚举项-
默认情况下,枚举的第一项的值为0。第二项的值为1,依此类推。
要从项目中获取整数值,必须将项目显式转换为int
您还可以分配自己的枚举值,接下来的项目将相应地更新数字-
枚举经常在switch语句中用于检查相应的值-
class Program{ enum Level{ Low, Medium, High } public static void Main(){ var myCount = Enum.GetNames(typeof(Level)).Length; System.Console.WriteLine(myCount); Console.ReadLine(); } }
输出结果
3
class Program{ enum Level{ Low, Medium, High } public static void Main(){ var myCount = Enum.GetNames(typeof(Level)).Length; for (int i = 0; i < myCount; i++){ System.Console.WriteLine(i); } Console.ReadLine(); } }
输出结果
0 1 2
问题内容: 我已经阅读了Java和C++之间的枚举差异问题?但是我还是很困惑。 我想以下返回相关的字符串: 据我所读,这应该是可能的。只是希望您对如何实现它有所了解。 问题答案: 简短答案 您需要一个构造函数,一个字段和一个吸气剂。 建设者 枚举类型可以具有构造函数,只要它们的访问级别为私有或默认(包私有)即可。除了枚举声明本身之外,您不能直接调用这些构造函数。与类相似,当定义不带参数的枚举常量时
是否可以使用枚举来定义键?(映射返回int String、Object。但这不是问题的一部分) 谢谢你的帮助。
是否有一种内置的方法来获取Enum的项目数,例如, 或者我必须根据元素的数量实现一个函数?
问题内容: 我以为我很了解Java泛型,但是随后在java.lang.Enum中遇到了以下内容: 有人可以解释如何解释此类型参数吗?奖励点,用于提供可以使用类似类型参数的其他示例。 问题答案: 这意味着枚举的类型参数必须从本身具有相同类型参数的枚举派生。怎么会这样 通过使类型参数成为新类型本身。因此,如果我有一个名为StatusCode的枚举,则它等效于: 现在,如果你检查的限制,我们已经得到了-
我正在使用swagger-codemen-maven-plugin(2.2.1)从YML配置生成java和打字代码类文件。我有两个问题。 如何在YML中定义枚举属性数组? 如何在YML中定义map属性枚举为key,布尔值为value? 让我知道这是可能的还是有任何解决办法?目前,我在java和typescrtipt中定义了enum类,并将其作为字符串传递。谢谢 招摇过市枚举文件 地图物业 更新:
让我们看看一个需要诉诸于代码的场景,来考虑为何此时使用枚举更为合适且实用。假设我们要处理 IP 地址。目前被广泛使用的两个主要 IP 标准:IPv4(version four)和 IPv6(version six)。这是我们的程序可能会遇到的所有可能的 IP 地址类型:所以可以 枚举 出所有可能的值,这也正是此枚举名字的由来。 任何一个 IP 地址要么是 IPv4 的要么是 IPv6 的,而且不能