enum

Java 基础复习 -- Enum 类

≡放荡痞女 提交于 2019-12-06 16:46:32
一、枚举类基本语法 在 Java SE5 中添加了一个看似很小的特性,即 enum 关键字,它使得我们在需要群组并使用枚举类型集时,可以很方便的处理。 创建一个简单的ColorEnum public enum ColorEnum { RED,YELLOW,BULE,GREED,BLACK; } 调用的收直接在方法中使用 ColorEnum.RED 即可 ColorEnum red = ColorEnum.RED; 而且 Enum 有一个特别实用的特性,它可以在 switch 语句内使用: ColorEnum red = ColorEnum.RED; switch (red) { case RED: System.out.println("this's red color"); break; case BULE: System.out.println("this's bule color"); break; default: System.out.println("this's other color"); } 由于 switch 是要在有限的可能值集合中进行选择,因此它和 enum 是绝佳的组合。 自定义构造方法枚举类如何定义? public enum RedisEnum { ADD(1, "add"), DEL(2, "delete"), query(3, "query");

轻松玩转AI(从Python开始之Python3入门)

天涯浪子 提交于 2019-12-06 16:11:58
轻松玩转AI路径:   从Python开始 [链接]   数据科学 [链接]   机器学习 [链接]   深度学习——神经网络 [链接] 从Python开始: Python3入门 [链接] Python3进阶 [链接] Python3高级编程和异步IO并发编程 [链接] Python3入门 目录: 1. 简介 2. 数据类型 3. 变量、表达式、运算符 4. 流程控制语句 5. 组织结构 6. 面向对象 7. 正则表达式 8. 枚举类型 函数式编程: 9. 闭包 10. 匿名函数 11. 装饰器 1. 简介 Python的特点:简洁 Python是面向对象的语言: 把现实解释中各种各样事物的关系和特征映射到计算机中。 Python适合的领域: 爬虫 大数据与数据分析 自动化运维与自动化测试 Web开发 机器学习 作为“胶水”语言把其他语言开发的模块包装来方便使用 Python不适合的领域: 贴近硬件的代码(首选C) 移动开发:iOS/Android有各自的开发语言(ObjC,Swift/Java) 游戏开发:C/C++ Python和其他语言对比: 2. 数据类型 不可变类型(值类型):数字、字符串、元组 可变类型(引用类型):列表、集合、字典 type(Data) 可查询数据类型函数 isinstance(对象, [数据类型1, 数据类型2]) 可判断对象是否是数据类型1… 1.

关于异常一

倾然丶 夕夏残阳落幕 提交于 2019-12-06 10:54:25
我们经常会使用 try/catch/finally 语句块。当然, return 关键字使用也是很平常的事,但是不知道大家有没有注意个这样一个问题。当在 try 语句块里面使用 return 语句,在 finally 里面去修改 return 所要返回的内容会出现什么情况。首先,我们知道 return 是结束方法的标志,一旦方法执行到 return 语句就将返回不再往下执行。其次,我们也知道, finally 里面的语句是无论方法怎样执行,最后都要执行 finally 里面的语句。那么究竟是先执行 return 还是 finally 呢?下面通过两个小实验来解决这个问题。 首先看第一个例子 public class TestTryCatch { public static void main(String[] args){ TestTryCatch test = new TestTryCatch(); System.out.println(test.fun()); } public int fun(){ int i = 10; try{ //doing something return i; }catch(Exception e){ return i; }finally{ i = 20; } } } 输出结果: 10 OK ,很简单的一个例子,创建了一个方法 fun ,在方法里使用

枚举

自作多情 提交于 2019-12-06 10:34:16
from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')) for name, member in Month.__members__.items(): print(name, '=>', member, ',', member.value) value 属性则是自动赋给成员的 int 常量,默认从 1 开始计数。 如果需要更精确地控制枚举类型,可以从 Enum 派生出自定义类: from enum import Enum, unique @unique class Weekday(Enum): Sun = 0 # Sun的value被设定为0 Mon = 1 Tue = 2 Wed = 3 Thu = 4 Fri = 5 Sat = 6 @unique 装饰器可以帮助我们检查保证没有重复值。 既可以用成员名称引用枚举常量,又可以直接根据value的值获得枚举常量。 来源: https://www.cnblogs.com/FinnChan/p/11978323.html

[JAVA]枚举类型的应用

瘦欲@ 提交于 2019-12-06 10:12:24
本文介绍枚举类的概念和开发过程中枚举的用法。 枚举类使用enum关键字定义,enum默认继承自Enum类,由于java单继承的特点,enum类无法再继承其他父类 一、枚举类的特性 1、简单枚举类的定义 枚举类用关键字enum定义,成员变量之间用逗号分隔,最后一个成员变量用分号结束。枚举类的命名建议加上Enum后缀。 代码如下: public enum FruitEnum { APPLE, ORANGE, BANANA, PEAR } 枚举的成员变量均为常量,可以通过 FruitEnum.APPLE 调用,构造方法被默认强制是私有,禁止通过new关键字实例化。 枚举类自带values()方法可以返回该枚举的所有实例 2、添加自定义方法 枚举类继承自Enum,默认实现了很多常用方法,包括: toString(),compareTo(),equals(),hashCode() 等。 我们也可以给枚举类添加自定义方法,需要注意如下几点: 1、自定义方法必须在enum实例之后; 2、如果显示指明了构造方法,必须是默认(enum中默认既是私有)或私有 3、最后一个实例需要加分号 例如,给简单示例增加要给重写的toString()方法: public enum FruitEnum { APPLE, ORANGE, BANANA, PEAR; @Override public String

.Net反射-两种方式获取Enum中的值

微笑、不失礼 提交于 2019-12-06 09:46:58
public enum EJobType { 客服 = 1, 业务员 = 2, 财务 = 3, 经理 = 4 } Type jobType = typeof(EJobType); 方式1: Array enumItems = Enum.GetValues(jobType); foreach (var enumItem in enumItems) { int value = (int)enumItem; string text = enumItem.ToString(); } 方式2: FieldInfo[] fields = jobType.GetFields(BindingFlags.Static | BindingFlags.Public);// foreach (var field in fields) { string text = field.Name; object value = field.GetRawConstantValue(); } 来源: https://www.cnblogs.com/fanfan-90/p/11974884.html

Java 之 枚举(Enum)

自作多情 提交于 2019-12-06 02:27:50
一、枚举   1、概述     枚举:JDK1.5引入的,类似于穷举,一一罗列出来     Java 枚举:把某个类型的对象,全部列出来   2、应用      什么情况下会用到枚举类型?     当某个类型的对象是固定的,有限的几个,那么就可以选择使用枚举。     在整个系统的运行期间,有且只有这几个对象。     例如: 性别类:只有两个对象:男,女         季节类:有4个对象:春、夏、秋、冬 二、JDK1.5之前,实现枚举效果   1、需要把构造器私有化:        目的:在这个类的外面,无法随意的创建对象   2、在本类中,提前创建好对象,供别人使用    Demo: 1 public class TestEnum { 2 public static void main(String[] args) { 3 //Gender g1 = new Gender(); 构造器私有化,无法使用 4 5 Gender nan1 = Gender.NAN; 6 Gender nan2 = Gender.NAN; 7 System.out.println(nan1 == nan2);//true 8 } 9 } 10 class Gender{ 11 //public:使得外面可以直接访问 12 //static:使得可以使用“类名.”访问 13 //final

JAVA enum 枚举类型(2017-07-18)

你说的曾经没有我的故事 提交于 2019-12-06 02:25:59
最近把JAVA书拿过来又看了一遍。看到这个枚举类型。 不过因为工作中,很少用到这个枚举类型,即使需要定义常量,大多数也是用public static fianl。。。 最近看到,我去网上查阅了一番资料,看了一些博主写的文章,结合这些资料,和我自己测试结果,来粗浅的记录下自己的心得。 说道枚举,就不得不说关键词: enum ; 下面来说一下 enum 的几个需要我们了解的点: 1、 enum 定义的类型是一个类,这些类都集成Enum类,即继承:java.lang.Enum类。既然继承了Enum,那么显而易见,就继承了Enum的很多方法。 2、 enum 定义是一个final类,是不可再次被继承。 enum 定义的类里的常量都是final的静态常量。 3、 enum 定义的类 中有构造器、方法、和数据域。但是枚举的构造器与一般普通类有些区别: ①构造器只在构造枚举值时被调用。 ②构造器中只能私有private,决不能有public构造器。 JAVA枚举分为三个案例来讲: 案例一:普通JAVA类中定义package test.ENum类; 案例代码: package test.ENum; public class ColorEnumTest { public enum ColorTest{ RED,GREEN,BLANK } public static void main(String[

Java枚举类型(enum)-6

扶醉桌前 提交于 2019-12-06 02:25:04
EnumSet EnumSet是与枚举类型一起使用的专用 Set 集合,EnumSet 中所有元素都必须是枚举类型。与其他Set接口的实现类HashSet/TreeSet(内部都是用对应的HashMap/TreeMap实现的)不同的是,EnumSet在内部实现是位向量(稍后分析),它是一种极为高效的位运算操作,由于直接存储和操作都是bit,因此EnumSet空间和时间性能都十分可观,足以媲美传统上基于 int 的“位标志”的运算,重要的是我们可像操作set集合一般来操作位运算,这样使用代码更简单易懂同时又具备类型安全的优势。注意EnumSet不允许使用 null 元素。试图插入 null 元素将抛出 NullPointerException,但试图测试判断是否存在null 元素或移除 null 元素则不会抛出异常,与大多数collection 实现一样,EnumSet不是线程安全的,因此在多线程环境下应该注意数据同步问题,ok~,下面先来简单看看EnumSet的使用方式。 EnumSet用法 创建EnumSet并不能使用new关键字,因为它是个抽象类,而应该使用其提供的静态工厂方法,EnumSet的静态工厂方法比较多,如下: 创建一个具有指定元素类型的空EnumSet。 EnumSet<E> noneOf(Class<E> elementType) /

java enum(枚举)使用详解

拜拜、爱过 提交于 2019-12-06 02:22:45
枚举enum 创建枚举,需要用 enum关键字,隐含创建的类型都是java.lang.Enum的子类(Enum是一个抽象类) 枚举类型符合通用模式 Class Enum<E extends Enum<E>>,而 E 表示枚举类型的名称 每个枚举类型的值都会被映射到这个构造函数中 protected Enum(String name, int ordinal) { this.name = name; this.ordinal = ordinal; } //定义一个枚举 public enum Color { RED, YELLO, GREEN;//此处分号可有可无 } //给枚举设置值 public enum Color { RED(1),// YELLO(2), GREEN(0);//此处要有分号 private int value; Color(int value) { this.value = value; } public int getValue() { return value; } } [color=red]这段代码实际上 new 了三个对象,就像三个静态的对象一样[/color] 来源: CSDN 作者: hioaduf 链接: https://blog.csdn.net/hioaduf/article/details/84684407