枚举类型

[Java核心技术]五-继承(枚举类)

若如初见. 提交于 2019-12-02 02:26:43
Java枚举类型(enum) 枚举类型都是继承了Enum类(是一个抽象类)的一个 类 ,我们可以向enum类中添加方法和变量等。编译再反编译可以看到枚举类型对应的类的内容。 每个枚举常量都对应一个Enum类的实例。 例子 public enum Day2 { MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY("星期三"), THURSDAY("星期四"), FRIDAY("星期五"), SATURDAY("星期六"), SUNDAY("星期日");//逗号分隔,分号结束 private String desc; /** * 私有构造,防止被外部调用 * @param desc */ private Day2(String desc){ this.desc=desc; } public String getDesc(){ return desc; } } 我们所写的构造函数只能被编译器调用,事实上, MONDAY("星期一") 表明了会调用构造函数 private Day2(String desc){ this.desc=desc; } 并为实例MONDAY的属性desc赋值"星期一". 很好的参考文章,可以仔细阅读:https://www.cnblogs.com/alter888/p/9163612.html 抽象类

Java 枚举

喜夏-厌秋 提交于 2019-12-02 02:10:58
章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符串 Java Math Java 布尔运算 Java If … Else Java Switch Java While 循环 Java For 循环 Java Break 与 Continue Java 数组 Java 异常 Java 方法 Java 类与对象 Java 类、对象 Java 类的属性 Java 类方法 Java 构造函数 Java 修饰符 Java 封装 Java 包 Java 继承 Java 多态 Java 内部类 Java 抽象 Java 接口 Java 枚举 Java 用户输入/Scanner Java 日期与时间 Java ArrayList Java HashMap Java 包装类 Java 文件 Java 枚举/Enum 枚举是一种特殊的“类”,用于表示一组常量(不可更改的变量,类似 final 变量)。 要创建枚举,使用 enum 关键字,并用逗号分隔常量。按惯例,枚举的常量名是大写的: 示例 enum Level { LOW, MEDIUM, HIGH } 可以通过点( . )语法访问枚举常量: Level myVar = Level.MEDIUM;

C 数组、枚举类型enum

丶灬走出姿态 提交于 2019-12-02 00:01:48
传递数组给函数 告诉编译器函数要接受一个指针 skip //函数声明,数组的长度无需声明,因为编译器不会对形式参数进行边界检查 void myFunction(int param[]) //或者 void myFunction(int *param) skip 从函数中返回数组 参考连接: https://www.runoob.com/cprogramming/c-return-arrays-from-function.html C不允许返回一个完整的数组作为参数,所以如果是传值调用,你可以通过返回一个数组名来返回一个执行数组的指针,那么就定义一个返回指针的函数 int * funcname(){} //另外由于C不允许在函数外返回一个局部变量的地址,除非使用static定义局部变量,即如果想要返回一个数组,除了定义返回类型为指针外,我们还必须在函数内部使用static定义局部变量 枚举类型 参考类型: https://www.runoob.com/cprogramming/c-enum.html 枚举类型是C中的一种基本数据类型,他可以让程序更简洁,更易读 枚举变量 定义枚举变量,分清楚枚举变量和枚举类型的区别 //先定义枚举类型,后定义枚举变量 enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN }; enum DAY week; /

枚举

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-01 23:51:38
1、枚举是用来干嘛的? (1)枚举在C语言中其实是一些符号常量集。直白点说:枚举定义了一些符号,这些符号的本质就是int类型的常量, 每个符号和一个常量绑定。这个符号就表示一个自定义的一个识别码,编译器对枚举的认知就是符号常量所绑定的那个 int类型的数字。 (2)枚举符号常量和其对应的常量数字相对来说,数字不重要,符号才重要。符号对应的数字只要彼此不相同即可, 没有别的要求。所以一般情况下我们都不明确指定这个符号对应的数字,而让编译器自动分配。(编译器自动分配的原则 是:从0开始依次增加。如果用户自己定义了一个值,则从那个值开始往后依次增加) 2、C语言为何需要枚举 (1)C语言没有枚举是可以的。使用枚举其实就是对1、0这些数字进行符号化编码,这样的好处就是编程时可以不用看数字 而直接看符号。符号的意义是显然的,一眼可以看出。而数字所代表的含义除非看文档或者注释。 (2)宏定义的目的和意义是:不用数字而用符号。从这里可以看出:宏定义和枚举有内在联系。宏定义和枚举经常用来解决 类似的问题,他们俩基本相当可以互换,但是有一些细微差别。 3、宏定义和枚举的区别 (1)枚举是将多个有关联的符号封装在一个枚举中,而宏定义是完全散的。也就是说枚举其实是多选一。 (2)什么情况下用枚举:当我们要定义的常量是一个有限集合时(譬如一星期有7天,一个月有30天,一年12个月……), 最适合用枚举

C零基础视频-43-枚举

女生的网名这么多〃 提交于 2019-12-01 17:24:01
目录 标志变量 枚举 枚举的本质是数字 标志变量 在某些编程情况下,我们可能会根据某个变量出现多分支情况,我们常使用一个标志变量存储分支的状态,如: #include <stdio.h> int main(int argc, char* argv[]) { int nChoice = -1; scanf("%d", &nChoice); switch (nChoice) { case 0: printf("选择0号菜单,运行增加功能……\r\n"); break; case 1: printf("选择1号菜单,运行删除功能……\r\n"); break; case 2: printf("选择2号菜单,运行查询功能……\r\n"); break; } return 0; } 枚举 但是,单纯的数字的可读性并不好,这时,我们可以采用枚举变量,增强可读性。 枚举的关键字是enum,同struct、union类似,我们需要定义出新的枚举类型,再用枚举类型去定义枚举变量。 #include <stdio.h> enum FLAG_CHOICE{ ADD, DEL, QUERY }; int main(int argc, char* argv[]) { FLAG_CHOICE myChoice; return 0; } 可以看出,使用enum声明类型时,同时需要声明这个类型下支持的各种“状态”

ILRuntime热更方案坑点

冷暖自知 提交于 2019-12-01 12:49:54
ILRuntime热更方案坑点 在热更工程中: 1.AddComponent需要限定好类型,不能用Type类型,会报错 2.GetComponent无法获取基类组件类型,无法找到时,需要在MonoBehaviorAdapter中添加遍历获取基类逻辑 3.Hotfix调用Unity中带参数的委托,需要注册委托参 RegisterMethodDelegate 4.强转Action委托类型as报错,使用(Action)XXX的方式去转换 5.尽可能不过多使用特性,反射,容易出问题。 6.继承自MonoBehavior的脚本声明处初始化不起作用,需要在Awake中去初始化 7.ref out关键字谨慎使用,比如传递数组时,会报错。 8.Json解析必须要使用集成的LitJson库 9.重写父类方法时,不能使用virtual关键字,否则会执行两次 10.Awake方法在AddComponent组件时调用一次,不论节点是否显示。此时需要在MonoBehaviorAdapter中加一层判断来规避此情况。 11.协程无法使用字符串启动,只支持参数为IEnumerator类型的方式启动或停止协程 12.不支持proto2,支持proto3,同时由于ILRuntime不认为ILRT里面跑的数据类型是枚举,导致无法把默认值转换为枚举,不能使用枚举 来源: https://www.cnblogs.com

mybatis 处理枚举类型

北城以北 提交于 2019-12-01 11:53:34
MyBatis支持持久化enum类型属性。假设t_user表中有一列gender(性别)类型为 varchar2(10),存储 MALE 或者 FEMALE 两种值。并且,User对象有一个enum类型的gender 属性,如下所示: public enum Gender { MALE,FEMALE; } 默认情况下MyBatis使用EnumTypeHandler来处理enum类型的Java属性,并且将其存储为enum值的名称。我们不需要为此做任何额外的配置。可以像使用基本数据类型属性一样使用enum类型属性,如下: create table t_user( id number primary key, name varchar2(50), gender varchar2(10) ); public class User{ private Integer id; private String name; private Gender gender; //setters and getters } 测试方法: @Test public void test_insertUser(){ SqlSession sqlSession = null; try { sqlSession = MyBatisSqlSessionFactory.openSession(); SpecialMapper

SQLMAP注入教程-11种常见SQLMAP使用方法详解

百般思念 提交于 2019-12-01 09:54:36
sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了。今天把我一直以来整理的sqlmap笔记发布上来供大家参考。 一共有11种常见SQLmap使用方法: 一、SQLMAP用于Access数据库注入 (1) 猜解是否能注入 1 2 win : python sqlmap.py - u " http://www.xxx.com/en/CompHonorBig.asp?id=7 " Linux : .lmap.py - u " http://www.xxx.com/en/CompHonorBig.asp?id=7 " (2) 猜解表 1 2 win : python sqlmap.py - u " http://www.xxx.com/en/CompHonorBig.asp?id=7 " --tables Linux : .lmap.py - u " http://www.xxx.com/en/CompHonorBig.asp?id=7 " --tables (3) 根据猜解的表进行猜解表的字段(假如通过2得到了admin这个表) 1 2 win : python sqlmap.py - u " http://www.xxx.com/en

C# Enum操作

拈花ヽ惹草 提交于 2019-12-01 09:45:24
枚举定义 /// <summary> /// 节点类型 /// </summary> public enum NodeTypeEnum { 企业 = 1, 人员 = 2, 人员地址疑似 = 5, 控股关系 = 6, 参股 = 7, 控股 = 11 } 枚举操作方法 /// <summary> /// 获取枚举对应的值 /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <param name="enumName">枚举对应值的名</param> /// <returns>枚举对象对应的值</returns> public static int GetEnumValue<T>(this object enumName) { return (int)enumName.GetEnumObj<T>(); } /// <summary> /// 获取枚举对象 /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <param name="enumName">枚举对应值的名</param> /// <returns>枚举对象</returns> private static object GetEnumObj<T>(this object enumName) {

第十二章 基本数据类型

泪湿孤枕 提交于 2019-12-01 08:59:04
第十二章 基本数据类型 数值概论1654948748 下面一些建议能够使你在使用数的时候少犯错误。 避免使用神秘数值 修改会变得更可靠; 修改会变得更容易; 你的代码变得更可读。 如果需要可以使用硬编码的0和1; 预防除零错误; 使类型转换变得明显; 避免混合类型的比较; 注意编译器的警告。 整数 在用整数的时候,要注意下面的注意事项。 检查整数除法; 检查整数溢出; 检查中间结果溢出。 浮点数 使用浮点数应遵循的原则: 避免数量级相差巨大的数之间的加减运算; 避免等量判断; 处理舍入问题: 换用一种精度更高的变量类型; 换用二进制编码的十进制变量; 把浮点变量变成整数变量; 检查语言和函数库对特定数据类型的支持。 字符和字符串 使用字符串的技巧: 避免使用神秘字符和神秘字符串; 避免off-by-one错误; 了解你的语言和开发环境是如何支持Unicode的; 在程序生命周期中尽早决定国际化/本地化策略; 如果你知道只需要支持一种文字的语言,请考虑使用ISO 8859字符集; 如果你需要支持多种语言,请使用Unicode; 采用某种一致的字符串类型转换策略。 C语言中的字符串 直接处理C字符串避免常见错误的方法。 注意字符串指针和字符串数组之间的差异: 警惕任何包含字符串和等号的表达式; 通过命名规则区分变量是字符串数组还是字符串指针。 把C