首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#vs Java Enum(适用于C#的新手)

在C#中,枚举(Enum)是一种用户定义的数据类型,它包含了一组具有名称的常数值。枚举类型的值是一组有限的值,通常用于表示一组相关的常量。在C#中,枚举类型可以用来表示一组相关的常量,例如星期几、月份、颜色等。

在Java中,枚举(Enum)是一种特殊的类,用于表示一组具有名称的常量。枚举类型的值是一组有限的值,通常用于表示一组相关的常量。在Java中,枚举类型可以用来表示一组相关的常量,例如星期几、月份、颜色等。

在C#中,枚举类型的定义方式如下:

代码语言:csharp
复制
enum Color
{
    Red,
    Green,
    Blue
}

在Java中,枚举类型的定义方式如下:

代码语言:java
复制
public enum Color {
    RED,
    GREEN,
    BLUE
}

总的来说,C#和Java中的枚举类型都是用来表示一组相关的常量,它们的语法和用法有所不同,但是它们的基本概念是相同的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C#Enum——枚举「建议收藏」

大家好,我是架构君,一个会写代码吟诗架构师。今天说一说C#Enum——枚举「建议收藏」,希望能够帮助大家进步!!! 枚举   枚举类型声明为一组相关符号常数定义了一个类型名称。...例如,假设您必须定义一个变量,该变量值表示一周中一天。该变量只能存储七个有意义值。若要定义这些值,可以使用枚举类型。枚举类型是使用 enum 关键字声明。 ...注意:System.Enum 类型是所有枚举类型抽象基类(它是一种与枚举类型基础类型不同独特类型),并且从 System.Enum 继承成员在任何枚举类型中都可用。...存在从任何枚举类型到System.Enum 装箱转换,并且存在从 System.Enum 到任何枚举类型取消装箱转换。System.Enum 本身不是枚举类型。...在C#中,枚举真正强大之处是它们在后台会实例化为派生于基类System.Enum结构。这表示可以对它们调用方法,执行有用任务。

1.3K20

Java枚举Enum

Java没有提供枚举时候,比如我们要使用一个表示周几枚举值怎么办? Java中是这样解决:定义一个私有的构造函数,然后在类中new出对象来。...public enum Date { Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday; } 如果我要定义这样一个枚举类,让它能够返回对应日期中文怎么办...中枚举总结: 1.枚举也是一种特殊形式Java类 2.枚举类中声明每一个枚举值代表枚举类一个实例对象 3.与Java中普通类一样,在声明枚举类时,也可以声明属性、方法构造函数,但枚举类构造函数必须为私有的...4.枚举类也可以实现接口,或继承抽象类 5.若枚举只有一个枚举值,则可以当做单态设计模式使用 最后需要明确是: Java中声明枚举类,均是java.lang.Enum子类,它继承了Enum...具体方法可以参考Java API文档,里面提供了一些有用方法。

1.1K20

Java enum用法详解

完整代码示例如下: package com.merryyou.enmu; import java.util.EnumMap; import java.util.EnumSet; /** * Created...(java是单继承,它已经继承了Enum),可以添加其他方法,覆盖它本身方法 switch()参数可以使用enum了 values()方法是编译器插入到enum定义中static方法,所以,当你将enum...enum元素,在一个接口内部,创建实现该接口枚举,以此将元素进行分组。...enum要求其成员都是唯一,但是enum中不能删除添加元素。 EnumMapkey是enum,value是任何其他Object对象。 enum允许程序员为eunm实例编写方法。...所以可以为每个enum实例赋予各自不同行为。 使用enum职责链(Chain of Responsibility) .这个关系到设计模式职责链模式。以多种不同方法来解决一个问题。

80750

JAVA枚举类型(Enum使用

这个时候就体现出枚举类作用了,java中枚举类型就是针对这样场景需求所设计。.../** * 枚举类后缀建议为Enum,枚举类型实例对象建议全大写(这样做符合JAVA规范) */ public enum SeasonEnum{ SPRING,SUMMER,AUTUMN...public enum SeasonEnum { //枚举类实例对象必须在最前面先定义,而且必须每个实例对象都必须维护上chinese成员变量 SPRING("春天"),SUMMER(...其实枚举类型可以看做我们平时新建.java差不多,只是枚举类限制了此类实例对象。当然,枚举类可以有自己成员变量和方法。...如果想看它更多用法请参考下面的链接 更多用法请参考这篇Java 枚举(enum) 详解7种常见用法_请叫我大师兄_博客-CSDN博客_java 枚举定义与用法 版权声明:本文内容由互联网用户自发贡献

1.2K20

java枚举类型enum使用

最近跟同事讨论问题时候,突然同事提到我们为什么java 中定义常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?...Java枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型。...: package com.csdn.myEnum; import java.util.EnumMap; import java.util.EnumSet; public class LightTest...可以创建一个enum 类,把它看做一个普通类。除了它不能继承其他类了。(java 是单继承,它已经继承了Enum), 可以添加其他方法,覆盖它本身方法 3....enum 要求其成员都是唯一,但是enum 中不能删除添加元素。 7. EnumMap key 是enum ,value 是任何其他Object 对象。 8.

1.1K100

C# Enum设计和使用相关技巧

C#Enum设计相关指导在网上有相关文章论述: 英文:Design Guidelines Update: Enum Design 中文:C# Idioms: Enum还是Enum Class(枚举类...) Enum运算通常涉及到位运算(AND、OR、XOR),按位运算, 常使用FlagsAttribute 自定义属性定义。...FlagsAttribute 和 Enum 准则: 只有要对数值执行按位运算(AND、OR、XOR)时才对枚举使用 FlagsAttribute 自定义属性。...用 2 幂(即 1、2、4、8 等)定义枚举常量。这意味着组合枚举常量中各个标志都不重叠。 请考虑为常用标志组合创建一个枚举常量。...技巧1:如何去除一个枚举项: 例如定义了权限Enum Permission: [Flags] public enum Permission{ Select = 1, Edit = 2,

1.1K70

深入分析Javaenum

创建枚举类型默认是java.lang.enum(抽象类)子类。 每个枚举项类型都为public static final 。...因为Java单继承机制,emum不能再用extends继承其他类。 我们可以使用javap命令进行反编译验证。 ? 既然enum是一个类,那么它就可以像一般类一样拥有自己属性与方法。...但Java要求必须先定义enum实例。 否则会编译错误。...(java是单继承,它已经继承了Enum),可以添加其他方法,覆盖它本身方法 switch()参数可以使用enum values()方法是编译器插入到enum定义中static方法,所以,当你将enum...enum允许程序员为eunm实例编写方法。所以可以为每个enum实例赋予各自不同行为。 【java.util.EnumSet和java.util.EnumMap】

1.3K110

Java——枚举:优雅而干净enum

Java编程思想》中有这么一句话:“有时恰恰因为它,你才能够‘优雅而干净’地解决问题”——这句话说是谁呢?就是本篇主角——枚举(Enum)——大家鼓掌了。...这段代码实际上调用了3次Enum(String name, int ordinal)(ordinal单词意思为顺序),也就是: new Enum("WANGER", 0); new Enum...三、枚举实现单例 《Effective Java》一书中对使用枚举实现单例方式推崇备至: 使用枚举实现单例方法虽然还没有广泛采用,但是单元素枚举类型已经成为实现Singleton最佳方法。...因为Java虚拟机在加载枚举类时候,会使用ClassLoaderloadClass方法,这个方法使用了同步代码块来保证线程安全。 避免反序列化破坏单例。因为枚举反序列化并不通过反射实现。...读者福利: 分享免费学习资料 针对于Java程序员,我这边准备免费Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、MyBatis,Netty,Redis,Kafka,Mysql

3.1K00

深入分析 Java 枚举 enum

当然上面的那个类是无法被编译,因为 Java 编译器限制了我们显式继承自 java.Lang.Enum 类, 报错 "The type Gender may not subclass Enum explicitly...", 虽然 java.Lang.Enum 声明是 ?...这样看来枚举类其实用了多例模式,枚举类实例是有范围限制 它同样像我们传统常量类,只是它元素是有限枚举类本身实例 它继承自 java.lang.Enum, 所以可以直接调用 java.lang.Enum...(java是单继承,它已经继承了Enum),可以添加其他方法,覆盖它本身方法 switch()参数可以使用enum values()方法是编译器插入到enum定义中static方法,所以,当你将enum...enum允许程序员为eunm实例编写方法。所以可以为每个enum实例赋予各自不同行为。 【java.util.EnumSet和java.util.EnumMap】

1.9K30

Java枚举(enum)常用用法总结

Java枚举(enum)七种常见用法汇总如下: JDK1.5引入了新类型——枚举。在 Java 中它虽然算个“小”功能,却给我开发带来了“大”方便。...概念 enum 全称为 enumeration, 是 JDK 1.5 中引入新特性。 在Java中,被 enum 关键字修饰类型就是枚举类型。...创建enum时,编译器会为你生成一个相关类,这个类继承自 java.lang.Enum。...在C/C++语言中enum,可以用赋值符号=显示为枚举常量赋值;但是 ,很遗憾,Java 语法中却不允许使用赋值符号 = 为枚举常量赋值。...因为 enum 实际上都继承自 java.lang.Enum 类,而 Java 不支持多重继承,所以 enum 不能再继承其他类,当然也不能继承另一个 enum

23510
领券