enum

枚举enum

半城伤御伤魂 提交于 2020-03-24 16:22:00
枚举值:它是一个整形(int) 并且,它不参加内存的占用和释放 枚举定义变量即可直接使用,不用初始化. 枚举的定义如下: 方式一: typedef enum{ //在这个地方,可以定义相同的名称,给要用到的类型起个标识符,这个地方,是可以省略的 unknown, //大括号里面的内容,依据程序员的需要来填充,使用逗号隔开,最后一个可以不使用符号,默认的序号是从0开始的,最好在标记时给它赋值=0 //如果在中途给它定义了数字,比如unknown=7,则以后的字符的序号依次递增,iPad=8 iPad, iPhone }TYPES;//枚举的名称,并且使用分号来结束 方式二: enum 名称{ 枚举数据表 }; enum type{ }; 补充:2015年07月25日 //---------------------------------------------------------------------------------- 1、枚举的定义写在哪里? 答:跟在 #import “”后面写,写在类的前面,确保枚举的作用范围 方式三: 1)亦可以如下定义(推荐:结构比较清晰): 格式:typedef NS_ENUM(NSInteger, 名称){}; typedef NS_ENUM(NSInteger, Test1) { //以下是枚举成员 Test1A = 0, Test1B

让JAD反编译工具我发现了很多有意思的程序

≯℡__Kan透↙ 提交于 2020-03-24 11:46:41
本文参考原文- http://bjbsair.com/2020-03-22/tech-info/5702/ jad反编译工具,已经不再更新,且只支持JDK1.4,但并不影响其强大的功能。 基本用法:jad xxx.class,会生成直接可读的xxx.jad文件。 自动拆装箱 对于基本类型和包装类型之间的转换,通过xxxValue()和valueOf()两个方法完成自动拆装箱,使用jad进行反编译可以看到该过程: public class Demo { public static void main(String[] args) { int x = new Integer(10); // 自动拆箱 Integer y = x; // 自动装箱 } } 反编译后结果: public class Demo { public Demo(){} public static void main(String args[]) { int i = (new Integer(10)).intValue(); // intValue()拆箱 Integer integer = Integer.valueOf(i); // valueOf()装箱 } } foreach语法糖 在遍历迭代时可以foreach语法糖,对于数组类型直接转换成for循环: // 原始代码 int[] arr = {1, 2,

Java enum应用小结

為{幸葍}努か 提交于 2020-03-21 06:45:24
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。 public enum Code { SUCCESS(10000,"操作成功"),FAIL(10001,"操作失败"); private int code; private String msg; private Code(int code, String msg) { this.code = code; this.msg = msg; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String

MySQL 中的数据类型介绍

无人久伴 提交于 2020-03-19 00:50:12
1、MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 2、数值类型(12) 2.1、整数类型(6) 一张图就能解释清楚了: INTEGER同INT。 2.2、定点数(2) DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值。 使用方式如下: salary DECIMAL ( 5 , 2 ) 下面的介绍将基于上面这个例子。 我们看到其中有两个参数,即DECIMAL(M,D),其中M表示十进制数字总的个数,D表示小数点后面数字的位数,上例中的取值范围为-999.99~999.99。 如果存储时,整数部分超出了范围(如上面的例子中,添加数值为1000.01),MySql就会报错,不允许存这样的值。 如果存储时,小数点部分若超出范围,就分以下情况: 若四舍五入后,整数部分没有超出范围,则只警告,但能成功操作并四舍五入删除多余的小数位后保存。如999.994实际被保存为999.99。 若四舍五入后,整数部分超出范围,则MySql报错,并拒绝处理。如999.995和-999.995都会报错。 M的默认取值为10,D默认取值为0。如果创建表时,某字段定义为decimal类型不带任何参数,等同于decimal(10,0)。带一个参数时

Java 语言中 Enum 类型的使用介绍

老子叫甜甜 提交于 2020-03-18 01:03:06
某厂面试归来,发现自己落伍了!>>> Enum 类型的介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中。而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似。不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围。 举个例子来说明一下,如果希望为彩虹描绘出七种颜色,你可以在 Java 程序中通过常量定义方式来实现。 清单 1. 常量定义 Public static class RainbowColor { // 红橙黄绿青蓝紫七种颜色的常量定义 public static final int RED = 0; public static final int ORANGE = 1; public static final int YELLOW = 2; public static final int GREEN = 3; public static final int CYAN = 4; public static final int BLUE = 5; public static final int PURPLE = 6; } 使用的时候,你可以在程序中直接引用这些常量。但是,这种方式还是存在着一些问题。 类型不安全 由于颜色常量的对应值是整数形

【原】enum的数据类型

喜你入骨 提交于 2020-03-12 06:28:57
直奔主题,什么是枚举类型,就是说又重新命名的整型类型,什么意思呢,其实在MFC中定义了很多的这样的类型,比如说 HWND 句柄类型,你可以直接查看这个自定义数据类型的原始类型,为什么要这样做的,关键是容易理解,使程序有可读性,其实枚举的目的也是这个目的,用现在网上流行的例子你就可以看出的,比如说一周的星期SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, 用枚举定义 如下 Enum TestEnum{ MONDAY=1, TUESDAY=2, WEDNESDAY=3, THURSDAY=4, FRIDAY=5, SATURDAY=6,SUNDAY=7} .// 这里如果你不初始化的话,默认的值分别为0,1,2,3,4,5,6,默认初始值是以0为索引的,一次递增1,如果前面初始化了值,后面的变量没有初始化,那么后面的值将会根据前面的值自动赋值为增1,这点很重要 TestEnum代表的是枚举名 主要这里试试声明一个枚举类型,其实这个TestEnum 就是一个数据类性,这个类型就叫做枚举类型,我们还的什么这个枚举类型的变量 TestEnum Test;当然了这个枚举变量,赋值的时候必须是声明中的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,

EnumSet 分类: java 2015-06-03 21:02 7人阅读 评论(0) 收藏

安稳与你 提交于 2020-03-08 13:18:09
EnumSet是java专门为枚举类设计的集合类。其中EnumSet中不允许加入null值,并且java专门为EnumSet提供了如下static方法来创建EnumSet对象。 1. EnumSet .allOf(enum) 这个方法是加入你所选择的枚举类的所有对象 2. EnumSet.of(enum.value1,enum.value2....);这个方法是加入某些枚举类类型的对象 3. EnumSet.noneOf(enum)这个方法是创建一个enum类型相同的 EnumSet ,只是其中的值为空。 4. EnumSet range(first,last)这个方法是从对象中的一个元素到另外一个元素的遍历 5. EnumSet.complementOf(class type)这个方法是从某个 EnumSet 对象中除掉 EnumSet 1的元素,最后返回剩下的值 如下图: 除了上面所说的方法, EnumSet 还可以复制另外一个 EnumSet 来创建对象,或者直接复制Collection来创建对象,但是,利用Collection来创建 EnumSet ,必须保证Collection中的每个元素都是同一种类型。 如下: 其中,我用eclipse创建了一个enum枚举类Season; 上述所说全是个人理解,有错误请指点 版权声明:本文为博主原创文章,未经博主允许不得转载。 来源:

Python3之使用枚举类

拜拜、爱过 提交于 2020-03-08 07:47:50
  当我们需要定义常量时,一个方法是用大写变量通过整数来定义,例如月份 JAN = 1 FEB = 2 MAR = 3 APR=4 May=5 Jun=6 Jul=7 Aug=8 Sep=9 Oct=10 NOV = 11 DEC = 12   好处是简单,缺点是类型int,并且仍然是变量。   更好的方法是为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。Python提供了Enum类来实现这个功能: from enum import Enum Month=Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))   这样我们就获得了Month类型的枚举类,可以直接使用Month.Jan来引用一个常量,或者枚举它所有成员 >>> Month.Jan <Month.Jan: 1> >>> Month.Feb <Month.Feb: 2>    >>> for name,member in Month.__members__.items(): ... print(name,'=>',member,',',member.value) ... Jan => Month.Jan , 1 Feb => Month.Feb

swift关键字

ぐ巨炮叔叔 提交于 2020-03-06 18:37:27
final 不希望某个类被继承和重写。 这种通常是一些辅助性质的工具类或者方法,特别那种只包含类方法而没有实例方法的类。比如MD5加密类这种,算法都十分固定,我们基本不会再继承和重写。 mutating 方法前加, 为了能在该方法中 修改struct 或者Enum的变量。 Struct或者 Enum 中可以定义方法, 但是默认情况下,在方法中时不能修改变量的值的。 /*--> */ /*--> */ struct TestStruct { var abcabc = 5 mutating func modify() { self. abcabc = 44 } } 来源: https://www.cnblogs.com/dashengios/p/10188833.html

Java 枚举7常见种用法

一笑奈何 提交于 2020-03-04 08:22:56
DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 Java代码 public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 Java代码 enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void change() { switch (color) { case RED: color = Signal.GREEN; break; case YELLOW: color = Signal.RED; break; case GREEN: color = Signal.YELLOW; break; } } } 用法三:向枚举中添加新方法 如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java