java枚举详解 如何遍历枚举类型的对象,并获取枚举类型长度?

如何遍历枚举类型的对象,并获取枚举类型长度?publicenumtestenum{aa,bb,cc,dd}foreach(中的testenum项)枚举.GetValue(typeof(testenum

如何遍历枚举类型的对象,并获取枚举类型长度?

publicenumtestenum{aa,bb,cc,dd}foreach(中的testenum项)枚举.GetValue(typeof(testenum)){}枚举.GetValue(typeof(枚举的名称))获取指定枚举的枚举值。枚举.GetNames(typeof(枚举名称))获取指定枚举的枚举名称。

enum的用法和使用方法?

之所以称为枚举类型,是因为命名常量被枚举或列为数据类型定义的一部分。下面是枚举类型声明的一个示例:

enum lotster{Tom,Sharon,bill,Teresa,John}

此语句将创建一个名为lotster的数据类型。因为单词enum是一个c关键字,所以它必须是小写的。值得注意的是,数据类型本身的名称以大写字母开头。虽然这不是必需的,但是大多数程序员都会使用大写字母。

与花名册数据类型关联的命名整数常量称为枚举数。花名册数据类型的变量可能只是与这些枚举数关联的值之一,但它们的值是什么?

默认情况下,编译器将第一个枚举数设置为0,下一个设置为1,依此类推。在上面的例子中,Tom的值是0,Sharon的值是1,依此类推。最后一个枚举数John的值是4。

为什么很多程序员不用switch,而是大量的if……else if?

答:主要是因为交换机不适合实际复杂的业务系统需求。业务在不断变化和迭代。一旦需求发生变化,条件的复杂性就很高,交换机无法处理。

开关何时合适?它的场景是基于单个变量的值(例如枚举),这比if条件更可读。

从上面的场景来看,它太有限了。让我简单地谈谈它的一些缺点:

1。真正的业务场景非常复杂,条件也不单一。一旦需求发生变化,维护代码就会崩溃。

2. 开关经常忘记写中断。据估计,很多人都忘了粗心地写。如果你看看Google的代码规范,你会发现Google对switch有很多要求。

事实上,有些人仍然使用交换机,这部分是由于历史原因。然而,随着科学技术的发展,原有的设计和设计都相对滞后。

某些编程语言(如python)没有开关语法。当然,一些新的语言golang和kotlin仍然是继承的,但是switch被打包了,被误解的语法被删除了,这使得switch更加灵活。没有包装很难使用。

通过上述缺点,即if语句更加灵活,并且根据业务逻辑条件编写,可维护性高。同时,只要代码质量高,可读性就会更高。

实际业务非常复杂,我不建议您必须使用大量的if,相反,它应该尽快返回以减少嵌套,从而增加可读性并降低维护成本。